~ 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