diff options
| author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-10-07 07:44:18 +0000 |
|---|---|---|
| committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-10-07 07:44:18 +0000 |
| commit | 3eddbbc597fa40bc0d3095c99a95cf53d06c44ad (patch) | |
| tree | bc7d39a8e532aa5e577833f8b9afc4ec8cacdbe8 | |
| parent | 142f88b450e04a2eeb483439ea9ab1d3ed8da96d (diff) | |
| download | ruby-3eddbbc597fa40bc0d3095c99a95cf53d06c44ad.tar.gz ruby-3eddbbc597fa40bc0d3095c99a95cf53d06c44ad.tar.xz ruby-3eddbbc597fa40bc0d3095c99a95cf53d06c44ad.zip | |
* bignum.c (bigdivrem): bignum zero's len should not be 0.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2942 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 4 | ||||
| -rw-r--r-- | bignum.c | 4 |
2 files changed, 6 insertions, 2 deletions
@@ -1,3 +1,7 @@ +Mon Oct 7 16:43:07 2002 Yukihiro Matsumoto <matz@ruby-lang.org> + + * bignum.c (bigdivrem): bignum zero's len should not be 0. + Mon Oct 7 15:36:42 2002 Yukihiro Matsumoto <matz@ruby-lang.org> * bignum.c (bigdivmod): wrong condition check for Bignum zero. @@ -1217,10 +1217,10 @@ bigdivrem(x, y, divp, modp) for (i = 0;i < j;i++) zds[i] = zds[i+ny]; RBIGNUM(*divp)->len = i; } - if (modp) { /* just normalize remainder */ + if (modp) { /* normalize remainder */ *modp = rb_big_clone(z); zds = BDIGITS(*modp); - while (ny-- && !zds[ny]); ++ny; + while (--ny && !zds[ny]); ++ny; if (dd) { t2 = 0; i = ny; while(i--) { |
