3 This file is part of the Public Domain C Library (PDCLib).
4 Permission is granted to use, modify, and / or redistribute at will.
11 void clearerr( struct _PDCLIB_file_t * stream )
13 stream->status &= ~( _PDCLIB_ERRORFLAG | _PDCLIB_EOFFLAG );
19 #include "_PDCLIB_test.h"
24 TESTCASE( ( fh = tmpfile() ) != NULL );
25 /* Flags should be clear */
26 TESTCASE( ! ferror( fh ) );
27 TESTCASE( ! feof( fh ) );
28 /* Reading from empty stream - should provoke EOF */
30 TESTCASE( fgetc( fh ) == EOF );
31 TESTCASE( ! ferror( fh ) );
32 TESTCASE( feof( fh ) );
33 /* clearerr() should clear flags */
35 TESTCASE( ! ferror( fh ) );
36 TESTCASE( ! feof( fh ) );
37 /* reopen() the file write-only */
38 TESTCASE( ( fh = freopen( NULL, "w", fh ) ) != NULL );
39 /* Reading from write-only stream - should provoke error */
40 TESTCASE( fgetc( fh ) == EOF );
41 TESTCASE( ferror( fh ) );
42 TESTCASE( ! feof( fh ) );
43 /* clearerr() should clear flags */
45 TESTCASE( ! ferror( fh ) );
46 TESTCASE( ! feof( fh ) );
47 TESTCASE( fclose( fh ) == 0 );