1 #include <stdio.h>
2 #include <string.h>
3
4 int
main(void)5 main (void)
6 {
7 FILE *f;
8 int i;
9 const char filename[] = OBJPFX "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 }
54