silc_compare_timeval returns < 0, 0, > 0 instead of TRUE/FALSE.
[silc.git] / lib / silcutil / silctime.c
index 4444e4e8a5cb2e7074d1a8c02b19b7c35a97d3fa..6dc321d690b56e4875afdcc6f93eec07ab1fa337 100644 (file)
@@ -155,14 +155,14 @@ SilcBool silc_timezone(char *timezone, SilcUInt32 timezone_size)
 
   if (timezone_size < 6)
     return FALSE;
-  
+
   if (!silc_time_value(0, &curtime))
     return FALSE;
 
   if (!curtime.utc_hour && curtime.utc_minute)
     silc_snprintf(timezone, timezone_size, "Z");
   else if (curtime.utc_minute)
-    silc_snprintf(timezone, timezone_size, "%c%02d:%02d", 
+    silc_snprintf(timezone, timezone_size, "%c%02d:%02d",
                  curtime.utc_east ? '+' : '-', curtime.utc_hour,
                  curtime.utc_minute);
   else
@@ -380,13 +380,10 @@ SilcBool silc_time_generalized_string(SilcTime time_val, char *ret_string,
 
 /* Return TRUE if `smaller' is smaller than `bigger'. */
 
-SilcBool silc_compare_timeval(struct timeval *smaller,
-                             struct timeval *bigger)
+int silc_compare_timeval(struct timeval *t1, struct timeval *t2)
 {
-  if ((smaller->tv_sec < bigger->tv_sec) ||
-      ((smaller->tv_sec == bigger->tv_sec) &&
-       (smaller->tv_usec < bigger->tv_usec)))
-    return TRUE;
-
-  return FALSE;
+  SilcInt32 s = t1->tv_sec - t2->tv_sec;
+  if (!s)
+    return t1->tv_usec - t2->tv_usec;
+  return s;
 }