| #include <stdio.h> |
| #include <string.h> |
| |
| int |
| main (void) |
| { |
| FILE *f; |
| int i; |
| const char filename[] = "/tmp/bug3.test"; |
| |
| f = fopen(filename, "w+"); |
| for (i=0; i<9000; i++) |
| putc ('x', f); |
| fseek (f, 8180L, 0); |
| fwrite ("Where does this text go?", 1, 24, f); |
| fflush (f); |
| |
| rewind (f); |
| for (i=0; i<9000; i++) |
| { |
| int j; |
| |
| if ((j = getc(f)) != 'x') |
| { |
| if (i != 8180) |
| { |
| printf ("Test FAILED!"); |
| return 1; |
| } |
| else |
| { |
| char buf[25]; |
| |
| buf[0] = j; |
| fread (buf + 1, 1, 23, f); |
| buf[24] = '\0'; |
| if (strcmp (buf, "Where does this text go?") != 0) |
| { |
| printf ("%s\nTest FAILED!\n", buf); |
| return 1; |
| } |
| i += 23; |
| } |
| } |
| } |
| |
| fclose(f); |
| remove(filename); |
| |
| puts ("Test succeeded."); |
| |
| return 0; |
| } |