1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #include <stdio.h>
- #include <wchar.h>
- #define PASSED 0
- #define FAILED 3
- static int fd;
- static void prepare (void);
- #define PREPARE(argc, argv) prepare ()
- #define TEST_FUNCTION do_test ()
- static int do_test (void);
- #include "../test-skeleton.c"
- static void
- prepare (void)
- {
- fd = create_temp_file ("wrewind.", NULL);
- if (fd == -1)
- exit (3);
- }
- static int
- do_test (void)
- {
- FILE *fptr;
- char arg1;
- char arg2;
- int ret1, ret2, result, num;
- ret1 = 0;
- ret2 = 0;
- fptr = fdopen (fd, "w+");
- if (fptr == NULL)
- {
- printf ("Unable to open file.\n");
- return 1;
- }
- if (fwprintf (fptr, L"cderf") <= 0)
- {
- printf ("Unable to write to file with fwprintf().\n");
- fclose (fptr);
- return 2;
- }
- rewind (fptr);
- ret1 = fwscanf (fptr, L"%c%c", &arg1, &arg2);
- if (ret1 != 2)
- {
- printf ("first fwscanf returned %d, expected 2\n", ret1);
- return 3;
- }
- rewind (fptr);
- ret2 = fwscanf (fptr, L"%c%n%c", &arg1, &num, &arg2);
- if (ret2 != 2)
- {
- printf ("second fwscanf returned %d, expected 2\n", ret2);
- return 4;
- }
- if (arg2 != 'd')
- {
- result = FAILED;
- printf ("rewind after first fwscanf failed\n");
- }
- else
- {
- printf ("Passed\n");
- result = PASSED;
- }
- fclose (fptr);
- return result;
- }
|