X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=functions%2Fstdio%2Ffopen.c;h=9a01fe3debc8f225a5bdd1244ba85814355589f1;hb=17032bd4d730f9c2dbe91e9ec92248c922bebb28;hp=2abb66407bb9bb7e80eb53dcecd0740148a2697e;hpb=4e4b49a7f39364583df853d6776c05c952666ddf;p=pdclib.old diff --git a/functions/stdio/fopen.c b/functions/stdio/fopen.c index 2abb664..9a01fe3 100644 --- a/functions/stdio/fopen.c +++ b/functions/stdio/fopen.c @@ -77,13 +77,12 @@ 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? */ if ( ( rc->buffer = malloc( BUFSIZ ) ) == NULL ) goto fail; - rc->status |= _PDCLIB_LIBBUFFER; + rc->status |= ( _PDCLIB_LIBBUFFER | _PDCLIB_VIRGINSTR ); /* TODO: Setting mbstate */ return rc; fail: @@ -98,6 +97,7 @@ fail: int main( void ) { +#ifndef REGTEST TESTCASE( filemode( "r" ) == _PDCLIB_FREAD ); TESTCASE( filemode( "w" ) == _PDCLIB_FWRITE ); TESTCASE( filemode( "a" ) == _PDCLIB_FAPPEND ); @@ -122,6 +122,9 @@ int main( void ) TESTCASE( fopen( "testfile", "wr" ) == NULL ); /* Illegal mode */ TESTCASE( fopen( "testfile", "w" ) != NULL ); system( "rm testfile" ); +#else + puts( " NOTEST fopen() test driver is PDCLib-specific." ); +#endif return TEST_RESULTS; }