source: vendor/glibc-tests/glibc/libio/bug-rewind.c

Last change on this file was 2036, checked in by bird, 20 years ago

Initial revision

  • Property cvs2svn:cvs-rev set to 1.1
  • Property svn:eol-style set to native
  • Property svn:executable set to *
  • Property svn:keywords set to Author Date Id Revision
File size: 1.1 KB
Line 
1#include <stdio.h>
2#include <wchar.h>
3
4#define PASSED 0
5#define FAILED 3
6
7
8static int fd;
9
10static void prepare (void);
11#define PREPARE(argc, argv) prepare ()
12
13
14#define TEST_FUNCTION do_test ()
15static int do_test (void);
16#include "../test-skeleton.c"
17
18
19static void
20prepare (void)
21{
22 fd = create_temp_file ("wrewind.", NULL);
23 if (fd == -1)
24 exit (3);
25}
26
27
28static int
29do_test (void)
30{
31 FILE *fptr;
32 char arg1;
33 char arg2;
34 int ret1, ret2, result, num;
35
36 ret1 = 0;
37 ret2 = 0;
38
39 fptr = fdopen (fd, "w+");
40 if (fptr == NULL)
41 {
42 printf ("Unable to open file.\n");
43 return 1;
44 }
45
46 if (fwprintf (fptr, L"cderf") <= 0)
47 {
48 printf ("Unable to write to file with fwprintf().\n");
49 fclose (fptr);
50 return 2;
51 }
52
53 rewind (fptr);
54 ret1 = fwscanf (fptr, L"%c%c", &arg1, &arg2);
55
56 rewind (fptr);
57 ret2 = fwscanf (fptr, L"%c%n%c", &arg1, &num, &arg2);
58
59 if (arg2 != 'd')
60 {
61 result = FAILED;
62 printf ("rewind after first fwscanf failed\n");
63 }
64 else
65 {
66 printf ("Passed\n");
67 result = PASSED;
68 }
69
70
71 fclose (fptr);
72 return result;
73}
Note: See TracBrowser for help on using the repository browser.