1 #include <stdio.h> 2 3 static int do_test(void)4do_test (void) 5 { 6 char buf[100]; 7 int result = 0; 8 9 if (ferror (stdin) != 0) 10 { 11 fputs ("error bit set for stdin at startup\n", stdout); 12 result = 1; 13 } 14 if (fgets (buf, sizeof buf, stdin) != buf) 15 { 16 fputs ("fgets with existing input has problem\n", stdout); 17 result = 1; 18 } 19 if (ferror (stdin) != 0) 20 { 21 fputs ("error bit set for stdin after setup\n", stdout); 22 result = 1; 23 } 24 if (fputc ('a', stdin) != EOF) 25 { 26 fputs ("fputc to stdin does not terminate with an error\n", stdout); 27 result = 1; 28 } 29 if (ferror (stdin) == 0) 30 { 31 fputs ("error bit not set for stdin after fputc\n", stdout); 32 result = 1; 33 } 34 clearerr (stdin); 35 if (ferror (stdin) != 0) 36 { 37 fputs ("error bit set for stdin after clearerr\n", stdout); 38 result = 1; 39 } 40 return result; 41 } 42 43 #define TEST_FUNCTION do_test () 44 #include "../test-skeleton.c" 45