X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Ffopen.c;h=96fdcc19803bb709efa65f28f61107ccb65cf57b;hb=640b93981b2ecade875371ecb873e43f750d2976;hp=1e9bd41358a60aa48484325bf9afe7333a4663e9;hpb=188eee8e94ce6e968e0791bae1c7682dafe9ec9c;p=pdclib diff --git a/functions/stdio/fopen.c b/functions/stdio/fopen.c index 1e9bd41..96fdcc1 100644 --- a/functions/stdio/fopen.c +++ b/functions/stdio/fopen.c @@ -77,13 +77,14 @@ struct _PDCLIB_file_t * fopen( const char * _PDCLIB_restrict filename, const cha if ( ( rc->status = filemode( mode ) ) == 0 ) goto fail; /* invalid mode */ rc->handle = _PDCLIB_open( filename, rc->status ); if ( rc->handle == _PDCLIB_NOHANDLE ) goto fail; /* OS open() failed */ - /* Adding to list of open files */ rc->next = _PDCLIB_filelist; _PDCLIB_filelist = rc; - /* Setting buffer, and mark as internal. TODO: Check for unbuffered? */ + /* Setting buffer, and mark as internal. TODO: Check for unbuffered */ if ( ( rc->buffer = malloc( BUFSIZ ) ) == NULL ) goto fail; - rc->status |= _PDCLIB_LIBBUFFER; + rc->bufsize = BUFSIZ; + rc->bufidx = 0; + rc->status |= ( _PDCLIB_LIBBUFFER | _PDCLIB_VIRGINSTR ); /* TODO: Setting mbstate */ return rc; fail: