From 188eee8e94ce6e968e0791bae1c7682dafe9ec9c Mon Sep 17 00:00:00 2001 From: solar Date: Thu, 8 Jun 2006 05:18:06 +0000 Subject: [PATCH] Fixed bug in fclose.c. Fixed regtest drivers in fopen.c / fclose.c. --- functions/stdio/fclose.c | 8 ++++++-- functions/stdio/fopen.c | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/functions/stdio/fclose.c b/functions/stdio/fclose.c index ff01058..f633de3 100644 --- a/functions/stdio/fclose.c +++ b/functions/stdio/fclose.c @@ -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; } diff --git a/functions/stdio/fopen.c b/functions/stdio/fopen.c index 2abb664..1e9bd41 100644 --- a/functions/stdio/fopen.c +++ b/functions/stdio/fopen.c @@ -98,6 +98,7 @@ fail: int main( void ) { +#ifndef REGTEST TESTCASE( filemode( "r" ) == _PDCLIB_FREAD ); TESTCASE( filemode( "w" ) == _PDCLIB_FWRITE ); TESTCASE( filemode( "a" ) == _PDCLIB_FAPPEND ); @@ -122,6 +123,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; } -- 2.40.0