X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Ffreopen.c;h=e8cc72a1f2924cba8e56c8acc5947ff2525ed7bf;hb=393020b6e48719d27699dea6b29e53025bbd5123;hp=be4b95e85b587d13a9ecd1769f2277ca81a4e78c;hpb=d9e48b611b63bcfc55727463cb9d9d0e87a7a405;p=pdclib diff --git a/functions/stdio/freopen.c b/functions/stdio/freopen.c index be4b95e..e8cc72a 100644 --- a/functions/stdio/freopen.c +++ b/functions/stdio/freopen.c @@ -25,8 +25,9 @@ struct _PDCLIB_file_t * freopen( const char * _PDCLIB_restrict filename, const c { /* FIXME: This is ad-hoc (to make the vprintf() testdriver work), and must be checked. */ /* FIXME: If filename is NULL, change mode. */ + /* TODO: This function can change wide orientation of a stream */ if ( filename == NULL ) return NULL; - if ( stream->status & _PDCLIB_WROTELAST ) fflush( stream ); + if ( stream->status & _PDCLIB_FWRITE ) fflush( stream ); if ( stream->status & _PDCLIB_LIBBUFFER ) free( stream->buffer ); _PDCLIB_close( stream->handle ); clearerr( stream ); @@ -36,7 +37,7 @@ struct _PDCLIB_file_t * freopen( const char * _PDCLIB_restrict filename, const c if ( ( stream->buffer = malloc( BUFSIZ ) ) == NULL ) return NULL; stream->bufsize = BUFSIZ; stream->bufidx = 0; - stream->status |= ( _PDCLIB_LIBBUFFER | _PDCLIB_VIRGINSTR ); + stream->status |= _PDCLIB_LIBBUFFER; /* TODO: Setting mbstate */ return stream; }