1 | #include <stdio.h> |
---|---|
2 | |
3 | static int |
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 (s: buf, n: 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 (c: '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 |