sd: remove 'ssd' driver support
[unleashed/tickless.git] / usr / src / lib / libast / common / comp / strptime.c
blobeac8f6f2ee08a79ad3f911032fc34a1fbc0b8554
1 /***********************************************************************
2 * *
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 *
8 * *
9 * A copy of the License is available at *
10 * http://www.opensource.org/licenses/cpl1.0.txt *
11 * (with md5 checksum 059e8cd6165cb4c31e351f2b69388fd9) *
12 * *
13 * Information and Software Systems Research *
14 * AT&T Research *
15 * Florham Park NJ *
16 * *
17 * Glenn Fowler <gsf@research.att.com> *
18 * David Korn <dgk@research.att.com> *
19 * Phong Vo <kpv@research.att.com> *
20 * *
21 ***********************************************************************/
22 #pragma prototyped
24 * strptime implementation
27 #define strptime ______strptime
29 #include <ast.h>
30 #include <tmx.h>
32 #undef strptime
34 #undef _def_map_ast
35 #include <ast_map.h>
37 #if _lib_strptime
39 NoN(strptime)
41 #else
43 #if defined(__EXPORT__)
44 #define extern __EXPORT__
45 #endif
47 extern char*
48 strptime(const char* s, const char* format, struct tm* ts)
50 char* e;
51 char* f;
52 time_t t;
53 Tm_t tm;
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)
68 return 0;
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;
79 return e;
82 #endif