summaryrefslogtreecommitdiff
path: root/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'time.c')
-rw-r--r--time.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/time.c b/time.c
index 0e2fa0f97b..2ef06eb6f7 100644
--- a/time.c
+++ b/time.c
@@ -659,6 +659,10 @@ time_plus(time1, time2)
sec++;
usec -= 1000000;
}
+ if (usec < 0) { /* usec underflow */
+ sec--;
+ usec += 1000000;
+ }
time2 = rb_time_new(sec, usec);
if (tobj->gmt) {
GetTimeval(time2, tobj);