]> git.ipfire.org Git - thirdparty/coreutils.git/commitdiff
Use < rather than >.
authorJim Meyering <jim@meyering.net>
Sat, 25 Dec 1999 20:00:21 +0000 (20:00 +0000)
committerJim Meyering <jim@meyering.net>
Sat, 25 Dec 1999 20:00:21 +0000 (20:00 +0000)
(main): Normalize ts_stop.

src/sleep.c

index f1e778109843a0354cb631956121e9a8a89ab962..57d2de778d10f3c62afd9a332ef4a77a1060fe0c 100644 (file)
@@ -126,7 +126,7 @@ timespec_subtract (struct timespec *diff,
       y->tv_sec += nsec;
     }
 
-  if (x->tv_nsec - y->tv_nsec > 1000000000)
+  if (1000000000 < x->tv_nsec - y->tv_nsec)
     {
       int nsec = (y->tv_nsec - x->tv_nsec) / 1000000000;
       y->tv_nsec += 1000000000 * nsec;
@@ -210,13 +210,13 @@ main (int argc, char **argv)
          /* No negative intervals.  */
          || s < 0
          /* S must fit in a time_t.  */
-         || s > TIME_T_MAX
+         || TIME_T_MAX < s
          /* No extra chars after the number and an optional s,m,h,d char.  */
          || (*p && *(p+1))
          /* Check any suffix char and update S based on the suffix.  */
          || apply_suffix (&s, *p)
          /* Make sure the sum fits in a time_t.  */
-         || (seconds += s) > TIME_T_MAX
+         || TIME_T_MAX < (seconds += s)
          )
        {
          error (0, 0, _("invalid time interval `%s'"), argv[i]);
@@ -237,6 +237,11 @@ main (int argc, char **argv)
 
   ts_stop.tv_sec = ts_start.tv_sec + ts_sleep.tv_sec;
   ts_stop.tv_nsec = ts_start.tv_nsec + ts_sleep.tv_nsec;
+  if (1000000000 <= ts_stop.tv_nsec)
+    {
+      ++ts_stop.tv_sec;
+      ts_stop.tv_nsec -= 1000000000;
+    }
 
   while (1)
     {