1 #include <stdio.h>
2 
3 static int
do_test(void)4 do_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