Magellan Linux

Contents of /trunk/mkinitrd-magellan/klibc/usr/klibc/strtotimex.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 815 - (show annotations) (download)
Fri Apr 24 18:32:46 2009 UTC (15 years ago) by niro
File MIME type: text/plain
File size: 671 byte(s)
-updated to klibc-1.5.15
1 /*
2 * strtotimex.c
3 *
4 * Nonstandard function which takes a string and converts it to a
5 * struct timespec/timeval. Returns a pointer to the first non-numeric
6 * character in the string.
7 *
8 */
9
10 #include <ctype.h>
11 #include <inttypes.h>
12 #include <stdlib.h>
13 #include <time.h>
14 #include <sys/time.h>
15
16 char *NAME(const char *str, TIMEX * ts)
17 {
18 int n;
19 char *s, *s0;
20 __typeof__(ts->FSEC) fs; /* Fractional seconds */
21
22 ts->tv_sec = strntoumax(str, &s, 10, ~(size_t) 0);
23 fs = 0;
24
25 if (*s == '.') {
26 s0 = s + 1;
27
28 fs = strntoumax(s0, &s, 10, DECIMALS);
29 n = s - s0;
30
31 while (isdigit(*s))
32 s++;
33
34 for (; n < DECIMALS; n++)
35 fs *= 10;
36 }
37
38 ts->FSEC = fs;
39 return s;
40 }