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 );
20 #include "_PDCLIB_test.h"
25 TESTCASE( ( fh = tmpfile() ) != NULL );
26 /* Flags should be clear */
27 TESTCASE( ! ferror( fh ) );
28 TESTCASE( ! feof( fh ) );
29 /* Reading from empty stream - should provoke EOF */
31 TESTCASE( fgetc( fh ) == EOF );
32 TESTCASE( ! ferror( fh ) );
33 TESTCASE( feof( fh ) );
34 /* clearerr() should clear flags */
36 TESTCASE( ! ferror( fh ) );
37 TESTCASE( ! feof( fh ) );
38 /* reopen() the file write-only */
39 TESTCASE( ( fh = freopen( NULL, "w", fh ) ) != NULL );
40 /* Reading from write-only stream - should provoke error */
41 TESTCASE( fgetc( fh ) == EOF );
42 TESTCASE( ferror( fh ) );
43 TESTCASE( ! feof( fh ) );
44 /* clearerr() should clear flags */
46 TESTCASE( ! ferror( fh ) );
47 TESTCASE( ! feof( fh ) );
48 TESTCASE( fclose( fh ) == 0 );