| #include <stdio.h> | 
 |  | 
 | static int | 
 | do_test (void) | 
 | { | 
 |   char buf[100]; | 
 |   int result = 0; | 
 |  | 
 |   if (ferror (stdin) != 0) | 
 |     { | 
 |       fputs ("error bit set for stdin at startup\n", stdout); | 
 |       result = 1; | 
 |     } | 
 |   if (fgets (buf, sizeof buf, stdin) != buf) | 
 |     { | 
 |       fputs ("fgets with existing input has problem\n", stdout); | 
 |       result = 1; | 
 |     } | 
 |   if (ferror (stdin) != 0) | 
 |     { | 
 |       fputs ("error bit set for stdin after setup\n", stdout); | 
 |       result = 1; | 
 |     } | 
 |   if (fputc ('a', stdin) != EOF) | 
 |     { | 
 |       fputs ("fputc to stdin does not terminate with an error\n", stdout); | 
 |       result = 1; | 
 |     } | 
 |   if (ferror (stdin) == 0) | 
 |     { | 
 |       fputs ("error bit not set for stdin after fputc\n", stdout); | 
 |       result = 1; | 
 |     } | 
 |   clearerr (stdin); | 
 |   if (ferror (stdin) != 0) | 
 |     { | 
 |       fputs ("error bit set for stdin after clearerr\n", stdout); | 
 |       result = 1; | 
 |     } | 
 |   return result; | 
 | } | 
 |  | 
 | #define TEST_FUNCTION do_test () | 
 | #include "../test-skeleton.c" |