Don't touch the dataset after cache_add returns reporting a failure.
[glibc/history.git] / stdio-common / bug3.c
blob6b2ed6b8e0c0699f5eb2458301bf70d7d302372e
1 #include <stdio.h>
2 #include <string.h>
4 int
5 main (void)
7 FILE *f;
8 int i;
9 const char filename[] = "/tmp/bug3.test";
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);
18 rewind (f);
19 for (i=0; i<9000; i++)
21 int j;
23 if ((j = getc(f)) != 'x')
25 if (i != 8180)
27 printf ("Test FAILED!");
28 return 1;
30 else
32 char buf[25];
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)
39 printf ("%s\nTest FAILED!\n", buf);
40 return 1;
42 i += 23;
47 fclose(f);
48 remove(filename);
50 puts ("Test succeeded.");
52 return 0;