1 #include <stdio.h>
2 #include <unistd.h>
3 #include <string.h>
4 
5 int stdio_block_read = 1, stdio_block_write = 1;
6 
7 int
main(int argc,char * argv[])8 main (int argc, char *argv[])
9 {
10   FILE *f;
11   int i;
12   char buffer[31];
13   const char filename[] = OBJPFX "bug4.test";
14 
15   while ((i = getopt (argc, argv, "rw")) != -1)
16     switch (i)
17       {
18       case 'r':
19 	stdio_block_read = 0;
20 	break;
21       case 'w':
22 	stdio_block_write = 0;
23 	break;
24       }
25 
26   f = fopen (filename, "w+");
27   for (i = 0; i < 9000; ++i)
28     putc('x', f);
29 
30   fseek (f, 8180L, 0);
31   fwrite ("Where does this text come from?", 1, 31, f);
32   fseek (f, 8180L, 0);
33   fread (buffer, 1, 31, f);
34   fwrite (buffer, 1, 31, stdout);
35   fclose (f);
36   remove (filename);
37 
38   if (!memcmp (buffer, "Where does this text come from?", 31))
39     {
40       puts ("\nTest succeeded.");
41       return 0;
42     }
43   else
44     {
45       puts ("\nTest FAILED!");
46       return 1;
47     }
48 }
49