source: branches/libc-0.6/src/libctests/glibc/time/tst-strptime2.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 <limits.h>
2#include <stdio.h>
3#include <time.h>
4
5
6static const struct
7{
8 const char *fmt;
9 long int gmtoff;
10} tests[] =
11 {
12 { "1113472456 +1000", 36000 },
13 { "1113472456 -1000", -36000 },
14 { "1113472456 +10", 36000 },
15 { "1113472456 -10", -36000 },
16 { "1113472456 +1030", 37800 },
17 { "1113472456 -1030", -37800 },
18 { "1113472456 +0030", 1800 },
19 { "1113472456 -0030", -1800 },
20 { "1113472456 -1330", LONG_MAX },
21 { "1113472456 +1330", LONG_MAX },
22 { "1113472456 -1060", LONG_MAX },
23 { "1113472456 +1060", LONG_MAX },
24 { "1113472456 1030", LONG_MAX },
25 };
26#define ntests (sizeof (tests) / sizeof (tests[0]))
27
28
29int
30main (void)
31{
32 int result = 0;
33
34 for (int i = 0; i < ntests; ++i)
35 {
36 struct tm tm;
37
38 if (strptime (tests[i].fmt, "%s %z", &tm) == NULL)
39 {
40 if (tests[i].gmtoff != LONG_MAX)
41 {
42 printf ("round %d: strptime unexpectedly failed\n", i);
43 result = 1;
44 }
45 continue;
46 }
47
48 if (tm.tm_gmtoff != tests[i].gmtoff)
49 {
50 printf ("round %d: tm_gmtoff is %ld\n", i, (long int) tm.tm_gmtoff);
51 result = 1;
52 }
53 }
54
55 if (result == 0)
56 puts ("all OK");
57
58 return 0;
59}
Note: See TracBrowser for help on using the repository browser.