diff options
Diffstat (limited to 'REORG.TODO/stdio-common/bug3.c')
-rw-r--r-- | REORG.TODO/stdio-common/bug3.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/REORG.TODO/stdio-common/bug3.c b/REORG.TODO/stdio-common/bug3.c new file mode 100644 index 0000000000..6b2ed6b8e0 --- /dev/null +++ b/REORG.TODO/stdio-common/bug3.c @@ -0,0 +1,53 @@ +#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; +} |