]> pd.if.org Git - pdclib/blobdiff - functions/stdio/fclose.c
Improved testdrivers.
[pdclib] / functions / stdio / fclose.c
index ff01058d59c005e581d495318a4721188b900451..0b4233034afe5b79b7fe0bccfa8b2c477e8b2654 100644 (file)
@@ -29,12 +29,13 @@ int fclose( struct _PDCLIB_file_t * stream )
             _PDCLIB_close( stream->handle );
             if ( previous != NULL )
             {
-                previous = current->next;
+                previous->next = stream->next;
             }
             else
             {
-                _PDCLIB_filelist = current->next;
+                _PDCLIB_filelist = stream->next;
             }
+            free( stream );
             return 0;
         }
         previous = current;
@@ -50,7 +51,7 @@ int fclose( struct _PDCLIB_file_t * stream )
 
 int main( void )
 {
-    /* FIXME: This is basically fopen() checking. Flushing and buffer-freeing is not checked. */
+#ifndef REGTEST
     struct _PDCLIB_file_t * file1;
     struct _PDCLIB_file_t * file2;
     TESTCASE( _PDCLIB_filelist == NULL );
@@ -67,6 +68,9 @@ int main( void )
     TESTCASE( fclose( file2 ) == 0 );
     TESTCASE( _PDCLIB_filelist == NULL );
     system( "rm testfile1 testfile2" );
+#else
+    puts( " NOTEST fclose() test driver is PDCLib-specific." );
+#endif
     return TEST_RESULTS;
 }