diff options
author | Jeremy Evans <code@jeremyevans.net> | 2020-07-24 15:21:08 -0700 |
---|---|---|
committer | Jeremy Evans <code@jeremyevans.net> | 2020-07-28 12:53:37 -0700 |
commit | 520a734ad9c7348f4e4858ee24640f42c88fd389 (patch) | |
tree | 3c0c688a5f3e2955e9eb7e8d6a199a2595efcfbb /time.c | |
parent | 1027520fec934490fa3995e91bf6f84c15629c6a (diff) |
Fix Time#ceil when result should be the same as the receiver
Fixes [Bug #17025]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/3362
Diffstat (limited to 'time.c')
-rw-r--r-- | time.c | 5 |
1 files changed, 4 insertions, 1 deletions
@@ -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); } /* |