42 lines
895 B
C
42 lines
895 B
C
|
#include <stdio.h>
|
||
|
|
||
|
int
|
||
|
main (int argc, char *argv[])
|
||
|
{
|
||
|
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;
|
||
|
}
|