OLD | NEW |
1 #include <time.h> | 1 #include <time.h> |
2 #include <limits.h> | 2 #include <limits.h> |
3 | 3 |
4 int __clock_gettime(clockid_t, struct timespec *); | 4 int __clock_gettime(clockid_t, struct timespec*); |
5 | 5 |
6 clock_t clock() | 6 clock_t clock() { |
7 { | 7 struct timespec ts; |
8 » struct timespec ts; | |
9 | 8 |
10 » if (__clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts)) | 9 if (__clock_gettime(CLOCK_PROCESS_CPUTIME_ID, &ts)) |
11 » » return -1; | 10 return -1; |
12 | 11 |
13 » if (ts.tv_sec > LONG_MAX/1000000 | 12 if (ts.tv_sec > LONG_MAX / 1000000 || |
14 » || ts.tv_nsec/1000 > LONG_MAX-1000000*ts.tv_sec) | 13 ts.tv_nsec / 1000 > LONG_MAX - 1000000 * ts.tv_sec) |
15 » » return -1; | 14 return -1; |
16 | 15 |
17 » return ts.tv_sec*1000000 + ts.tv_nsec/1000; | 16 return ts.tv_sec * 1000000 + ts.tv_nsec / 1000; |
18 } | 17 } |
OLD | NEW |