Update.
[platform/upstream/glibc.git] / stdio-common / bug3.c
1 #include <stdio.h>
2 #include <string.h>
3
4 int
5 main (void)
6 {
7   FILE *f;
8   int i;
9   const char filename[] = "/tmp/bug3.test";
10
11   f = fopen(filename, "w+");
12   for (i=0; i<9000; i++)
13     putc ('x', f);
14   fseek (f, 8180L, 0);
15   fwrite ("Where does this text go?", 1, 24, f);
16   fflush (f);
17
18   rewind (f);
19   for (i=0; i<9000; i++)
20     {
21       int j;
22
23       if ((j = getc(f)) != 'x')
24         {
25           if (i != 8180)
26             {
27               printf ("Test FAILED!");
28               return 1;
29             }
30           else
31             {
32               char buf[25];
33
34               buf[0] = j;
35               fread (buf + 1, 1, 23, f);
36               buf[24] = '\0';
37               if (strcmp (buf, "Where does this text go?") != 0)
38                 {
39                   printf ("%s\nTest FAILED!\n", buf);
40                   return 1;
41                 }
42               i += 23;
43             }
44         }
45     }
46
47   fclose(f);
48   remove(filename);
49
50   puts ("Test succeeded.");
51
52   return 0;
53 }