]> git.ipfire.org Git - thirdparty/freeswitch.git/commitdiff
correctly fix potential int type rollover in switch_core_measure_time.
authorMichael Jerris <mike@jerris.com>
Wed, 10 May 2006 04:42:31 +0000 (04:42 +0000)
committerMichael Jerris <mike@jerris.com>
Wed, 10 May 2006 04:42:31 +0000 (04:42 +0000)
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@1411 d0543943-73ff-0310-b7d9-9358b9ac24b2

src/switch_core.c

index 1a0a56bb87eadf4944e055d4183470cf5330f391..9053cbcb77803e6eb890447d886ce7ef5d67449c 100644 (file)
@@ -2849,16 +2849,16 @@ SWITCH_DECLARE(void) switch_core_measure_time(switch_time_t total_ms, switch_cor
     switch_time_t temp = total_ms / 1000;
        memset(duration, 0, sizeof(*duration));
        duration->mms = (uint32_t)(total_ms % 1000);
-    duration->sec = (uint32_t)(temp / 1000);
        duration->ms = (uint32_t)(temp % 1000);
-    duration->min = duration->sec / 60;
-    duration->sec = duration->sec % 60;
-    duration->hr = duration->min / 60;
-    duration->min = duration->min % 60;
-       duration->day = duration->hr / 24;
-       duration->hr = duration->hr % 24;
-       duration->yr = duration->day / 365;
-       duration->day = duration->day % 365;
+    temp = temp / 1000;
+    duration->sec = (uint32_t)(temp % 60);
+    temp = temp / 60;
+    duration->min = (uint32_t)(temp % 60);
+       temp = temp / 60;
+       duration->hr = (uint32_t)(temp % 24);
+       temp = temp / 24;
+       duration->day = (uint32_t)(temp % 365);
+       duration->yr = (uint32_t)(temp / 365);
 }
 
 SWITCH_DECLARE(switch_time_t) switch_core_uptime(void)