~ chicken-core (chicken-5) 2bf40f0b08baa7a82d0ee19e1511f2b4d90af1bd
commit 2bf40f0b08baa7a82d0ee19e1511f2b4d90af1bd Author: felix <felix@call-with-current-continuation.org> AuthorDate: Tue Jul 12 14:41:46 2011 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Tue Jul 12 14:41:46 2011 +0200 cast to double in C_cpu_milliseconds to avoid overflow diff --git a/runtime.c b/runtime.c index b06f6ef3..578e469f 100644 --- a/runtime.c +++ b/runtime.c @@ -1689,8 +1689,8 @@ C_regparm double C_fcall C_cpu_milliseconds(void) struct rusage ru; if(C_getrusage(RUSAGE_SELF, &ru) == -1) return 0; - else return (ru.ru_utime.tv_sec + ru.ru_stime.tv_sec) * 1000 - + (ru.ru_utime.tv_usec + ru.ru_stime.tv_usec) / 1000; + else return ((double)ru.ru_utime.tv_sec + ru.ru_stime.tv_sec) * 1000 + + ((double)ru.ru_utime.tv_usec + ru.ru_stime.tv_usec) / 1000; #endif }Trap