/* $Id$ */
-/* freopen( const char *, const char * )
+/* freopen( const char *, const char *, FILE * )
This file is part of the Public Domain C Library (PDCLib).
Permission is granted to use, modify, and / or redistribute at will.
(Primary use of this function is to redirect stdin, stdout, and stderr.)
*/
-struct _PDCLIB_file_t * freopen( const char * _PDCLIB_restrict filename, const char * _PDCLIB_restrict mode, struct _PDCLIB_file_t * stream )
+struct _PDCLIB_file_t * freopen( const char * _PDCLIB_restrict filename, const char * _PDCLIB_restrict mode, struct _PDCLIB_file_t * _PDCLIB_restrict stream )
{
/* 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 );
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;
}