1 /***********************************************************************
3 * This software is part of the ast package *
4 * Copyright (c) 1985-2010 AT&T Intellectual Property *
5 * and is licensed under the *
6 * Common Public License, Version 1.0 *
7 * by AT&T Intellectual Property *
9 * A copy of the License is available at *
10 * http://www.opensource.org/licenses/cpl1.0.txt *
11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
13 * Information and Software Systems Research *
17 * Glenn Fowler <gsf@research.att.com> *
18 * David Korn <dgk@research.att.com> *
19 * Phong Vo <kpv@research.att.com> *
21 ***********************************************************************/
24 * strptime implementation
27 #define strptime ______strptime
43 #if defined(__EXPORT__)
44 #define extern __EXPORT__
48 strptime(const char* s
, const char* format
, struct tm
* ts
)
55 memset(&tm
, 0, sizeof(tm
));
56 tm
.tm_sec
= ts
->tm_sec
;
57 tm
.tm_min
= ts
->tm_min
;
58 tm
.tm_hour
= ts
->tm_hour
;
59 tm
.tm_mday
= ts
->tm_mday
;
60 tm
.tm_mon
= ts
->tm_mon
;
61 tm
.tm_year
= ts
->tm_year
;
62 tm
.tm_wday
= ts
->tm_wday
;
63 tm
.tm_yday
= ts
->tm_yday
;
64 tm
.tm_isdst
= ts
->tm_isdst
;
65 t
= tmtime(&tm
, TM_LOCALZONE
);
66 t
= tmscan(s
, &e
, format
, &f
, &t
, 0);
67 if (e
== (char*)s
|| *f
)
69 tmxtm(&tm
, tmxclock(&t
), NiL
);
70 ts
->tm_sec
= tm
.tm_sec
;
71 ts
->tm_min
= tm
.tm_min
;
72 ts
->tm_hour
= tm
.tm_hour
;
73 ts
->tm_mday
= tm
.tm_mday
;
74 ts
->tm_mon
= tm
.tm_mon
;
75 ts
->tm_year
= tm
.tm_year
;
76 ts
->tm_wday
= tm
.tm_wday
;
77 ts
->tm_yday
= tm
.tm_yday
;
78 ts
->tm_isdst
= tm
.tm_isdst
;