aboutsummaryrefslogtreecommitdiff
path: root/REORG.TODO/stdio-common/bug3.c
diff options
context:
space:
mode:
Diffstat (limited to 'REORG.TODO/stdio-common/bug3.c')
-rw-r--r--REORG.TODO/stdio-common/bug3.c53
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;
+}