vfprintf: Define WORK_BUFFER_SIZE
[glibc.git] / time / tst-strptime3.c
blob75b57c1928717350551d85c85c1ed051d45eb8e2
1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <time.h>
7 static int
8 do_test (void)
10 int result = 0;
11 struct tm tm;
13 memset (&tm, 0xaa, sizeof (tm));
15 /* Test we don't crash on uninitialized struct tm.
16 Some fields might contain bogus values until everything
17 needed is initialized, but we shouldn't crash. */
18 if (strptime ("2007", "%Y", &tm) == NULL
19 || strptime ("12", "%d", &tm) == NULL
20 || strptime ("Feb", "%b", &tm) == NULL
21 || strptime ("13", "%M", &tm) == NULL
22 || strptime ("21", "%S", &tm) == NULL
23 || strptime ("16", "%H", &tm) == NULL)
25 puts ("strptimes failed");
26 result = 1;
29 if (tm.tm_sec != 21 || tm.tm_min != 13 || tm.tm_hour != 16
30 || tm.tm_mday != 12 || tm.tm_mon != 1 || tm.tm_year != 107
31 || tm.tm_wday != 1 || tm.tm_yday != 42)
33 puts ("unexpected tm content");
34 result = 1;
37 if (strptime ("8", "%d", &tm) == NULL)
39 puts ("strptime failed");
40 result = 1;
43 if (tm.tm_sec != 21 || tm.tm_min != 13 || tm.tm_hour != 16
44 || tm.tm_mday != 8 || tm.tm_mon != 1 || tm.tm_year != 107
45 || tm.tm_wday != 4 || tm.tm_yday != 38)
47 puts ("unexpected tm content");
48 result = 1;
51 if (result == 0)
52 puts ("all OK");
54 return 0;
57 #define TEST_FUNCTION do_test ()
58 #include "../test-skeleton.c"