Chameleon

Chameleon Svn Source Tree

Root/branches/rewrite/i386/modules/klibc/strtotimex.c

Source at commit 1146 created 12 years 11 months ago.
By azimutz, Sync with trunk (r1145). Add nVidia dev id's, 0DF4 for "GeForce GT 450M" (issue 99) and 1251 for "GeForce GTX 560M" (thanks to oSxFr33k for testing).
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
16uintmax_t strntoumax(const char *nptr, char **endptr, int base, size_t n);
17
18char *NAME(const char *str, TIMEX * ts)
19{
20int n;
21char *s, *s0;
22__typeof__(ts->FSEC) fs;/* Fractional seconds */
23
24ts->tv_sec = strntoumax(str, &s, 10, ~(size_t) 0);
25fs = 0;
26
27if (*s == '.') {
28s0 = s + 1;
29
30fs = strntoumax(s0, &s, 10, DECIMALS);
31n = s - s0;
32
33while (isdigit(*s))
34s++;
35
36for (; n < DECIMALS; n++)
37fs *= 10;
38}
39
40ts->FSEC = fs;
41return s;
42}
43

Archive Download this file

Revision: 1146