rework langinfo code for ABI compat and for use by time code
[musl] / src / time / clock.c
1 #include <time.h>
2 #include <limits.h>
3
4 int __clock_gettime(clockid_t, struct timespec *);
5
6 clock_t clock()
7 {
8         struct timespec ts;
9
10         if (__clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts))
11                 return -1;
12
13         if (ts.tv_sec > LONG_MAX/1000000
14          || ts.tv_nsec/1000 > LONG_MAX-1000000*ts.tv_sec)
15                 return -1;
16
17         return ts.tv_sec*1000000 + ts.tv_nsec/1000;
18 }