]>
Commit | Line | Data |
---|---|---|
7e39d802 UD |
1 | #include <stdio.h> |
2 | #include <stdio_ext.h> | |
3 | ||
4 | ||
5 | static char *fname; | |
6 | ||
7 | #define PREPARE(argc, argv) \ | |
8 | do { \ | |
9 | int fd = create_temp_file ("tst-ext2", &fname); \ | |
10 | if (fd == -1) \ | |
11 | { \ | |
12 | puts ("cannot create temporary file"); \ | |
13 | exit (1); \ | |
14 | } \ | |
15 | close (fd); \ | |
16 | } while (0) | |
17 | ||
18 | ||
19 | static int | |
20 | do_test (void) | |
21 | { | |
22 | int res = 0; | |
23 | ||
24 | FILE *fp; | |
25 | ||
26 | fp = fopen (fname, "w"); | |
27 | printf ("Initial state for write-only stream: %d %d\n", | |
28 | __freading (fp) != 0, __fwriting (fp) != 0); | |
29 | res |= ((__freading (fp) != 0) != 0 | |
30 | || (__fwriting (fp) != 0) != 1); | |
31 | fclose (fp); | |
32 | ||
33 | fp = fopen (fname, "r"); | |
34 | printf ("Initial state for read-only stream: %d %d\n", | |
35 | __freading (fp) != 0, __fwriting (fp) != 0); | |
36 | res |= ((__freading (fp) != 0) != 1 | |
37 | || (__fwriting (fp) != 0) != 0); | |
38 | fclose (fp); | |
39 | ||
40 | fp = fopen (fname, "r+"); | |
41 | printf ("Initial state for read-write stream: %d %d\n", | |
42 | __freading (fp) != 0, __fwriting (fp) != 0); | |
43 | res |= ((__freading (fp) != 0) != 0 | |
44 | || (__fwriting (fp) != 0) != 0); | |
45 | fclose (fp); | |
46 | ||
47 | fp = fopen (fname, "w+"); | |
48 | printf ("Initial state for read-write stream: %d %d\n", | |
49 | __freading (fp) != 0, __fwriting (fp) != 0); | |
50 | res |= ((__freading (fp) != 0) != 0 | |
51 | || (__fwriting (fp) != 0) != 0); | |
52 | fclose (fp); | |
53 | ||
54 | return res; | |
55 | } | |
56 | ||
57 | #define TEST_FUNCTION do_test () | |
58 | #include "../test-skeleton.c" |