]>
Commit | Line | Data |
---|---|---|
28f540f4 RM |
1 | #include <stdio.h> |
2 | #include <string.h> | |
3 | ||
4 | int | |
1f07e617 | 5 | main (void) |
28f540f4 RM |
6 | { |
7 | FILE *f; | |
8 | int i; | |
1f07e617 | 9 | const char filename[] = "/tmp/bug3.test"; |
28f540f4 | 10 | |
ec4b0518 | 11 | f = fopen(filename, "w+"); |
28f540f4 RM |
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); | |
ec4b0518 | 48 | remove(filename); |
28f540f4 RM |
49 | |
50 | puts ("Test succeeded."); | |
51 | ||
52 | return 0; | |
53 | } |