]> pd.if.org Git - pdclib/blobdiff - functions/stdio/fclose.c
Fixed bug in fclose.c. Fixed regtest drivers in fopen.c / fclose.c.
[pdclib] / functions / stdio / fclose.c
index ff01058d59c005e581d495318a4721188b900451..f633de3e8cf1364cf7583dfa52e635e600fe4d58 100644 (file)
@@ -29,7 +29,7 @@ int fclose( struct _PDCLIB_file_t * stream )
             _PDCLIB_close( stream->handle );
             if ( previous != NULL )
             {
-                previous = current->next;
+                previous->next = current->next;
             }
             else
             {
@@ -50,6 +50,7 @@ int fclose( struct _PDCLIB_file_t * stream )
 
 int main( void )
 {
+#ifndef REGTEST
     /* FIXME: This is basically fopen() checking. Flushing and buffer-freeing is not checked. */
     struct _PDCLIB_file_t * file1;
     struct _PDCLIB_file_t * file2;
@@ -65,8 +66,11 @@ int main( void )
     TESTCASE( fclose( file1 ) == 0 );
     TESTCASE( _PDCLIB_filelist == file2 );
     TESTCASE( fclose( file2 ) == 0 );
-    TESTCASE( _PDCLIB_filelist == NULL );
+    TESTCASE( _PDCLIB_filelist == NULL ); /* FIXME: fails */
     system( "rm testfile1 testfile2" );
+#else
+    puts( " NOTEST fclose() test driver is PDCLib-specific." );
+#endif
     return TEST_RESULTS;
 }