summaryrefslogtreecommitdiff
path: root/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'time.c')
-rw-r--r--time.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/time.c b/time.c
index 51b7a262ac..3073e154c9 100644
--- a/time.c
+++ b/time.c
@@ -4446,7 +4446,10 @@ time_ceil(int argc, VALUE *argv, VALUE time)
v = w2v(rb_time_unmagnify(tobj->timew));
v = modv(v, den);
- return time_add(tobj, time, subv(den, v), 1);
+ if (!rb_equal(v, INT2FIX(0))) {
+ v = subv(den, v);
+ }
+ return time_add(tobj, time, v, 1);
}
/*