mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* time.c (rb_time_magnify): fix for LP64.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@27075 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
63dd50961e
commit
d8cc6ccb56
2 changed files with 16 additions and 2 deletions
|
@ -1,3 +1,7 @@
|
|||
Sun Mar 28 10:12:28 2010 Tanaka Akira <akr@fsij.org>
|
||||
|
||||
* time.c (rb_time_magnify): fix for LP64.
|
||||
|
||||
Sun Mar 28 09:28:33 2010 NARUSE, Yui <naruse@ruby-lang.org>
|
||||
|
||||
* lib/scanf.rb: fix %[egEFG] isn't accept.
|
||||
|
|
14
time.c
14
time.c
|
@ -594,12 +594,22 @@ rb_time_magnify(VALUE v)
|
|||
#else
|
||||
long a, b, c;
|
||||
a = FIX2LONG(v);
|
||||
if (a == 0)
|
||||
return x;
|
||||
if (a == 0) {
|
||||
#if WIDEINT_IS_UINT64
|
||||
WIDEVAL_SET(ret, INT64toFIXWV(0));
|
||||
#else
|
||||
WIDEVAL_SET(ret, INT2FIX(0));
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
b = TIME_SCALE;
|
||||
c = a * b;
|
||||
if (c / a == b) {
|
||||
#if WIDEINT_IS_UINT64
|
||||
WIDEVAL_SET(ret, INT64toFIXWV(c));
|
||||
#else
|
||||
WIDEVAL_SET(ret, LONG2NUM(c));
|
||||
#endif
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
|
Loading…
Reference in a new issue