summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-06-05 18:48:02 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-06-05 18:48:02 +0000
commit523c3d29d21d1340504858ac8fc1acd722c9a42c (patch)
tree60818b71d2a318d3c1099f86d2f9909090662bc2
parent33ba699ad38b369c18b030e644264d28e8c5a825 (diff)
ext/md5/extconf.rb added
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_4@734 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog13
-rw-r--r--bignum.c7
-rw-r--r--ext/md5/MANIFEST1
3 files changed, 19 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index f5af2b6773..a826690ab8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Jun 6 03:29:12 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
+
+ * bignum.c (bigdivmod): modulo by small numbers was wrong.
+
Sun Jun 4 03:17:36 2000 Wakou Aoyama <wakou@fsinet.or.jp>
* lib/cig.rb: improve: CGI::pretty()
@@ -100,6 +104,15 @@ Wed May 17 02:22:03 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
* parse.y (expr): avoid calling value_expr() twice.
+Mon May 15 15:38:09 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
+
+ * ruby.h: exported symbols should be for xmalloc etc. are now
+ prefixed by 'ruby_', e.g. ruby_xmalloc().
+
+Sun May 14 18:05:59 2000 WATANABE Hirofumi <eban@os.rim.or.jp>
+
+ * win32/config.h: undef HAVE_SYS_FILE_H.
+
Fri May 12 17:33:44 2000 Yukihiro Matsumoto <matz@netlab.co.jp>
* regex.c (re_compile_pattern): charset_not should not exclude
diff --git a/bignum.c b/bignum.c
index fb0dafb142..5711dd8df1 100644
--- a/bignum.c
+++ b/bignum.c
@@ -721,7 +721,7 @@ bigdivmod(x, y, div, mod, modulo)
long i, j;
VALUE yy, z;
USHORT *xds, *yds, *zds, *tds;
- unsigned long t2;
+ long t2;
long num;
USHORT dd, q;
@@ -746,7 +746,10 @@ bigdivmod(x, y, div, mod, modulo)
RBIGNUM(z)->sign = RBIGNUM(x)->sign==RBIGNUM(y)->sign;
if (div) *div = bignorm(z);
if (mod) {
- if (!RBIGNUM(y)->sign) t2 = -(long)t2;
+ if (!RBIGNUM(x)->sign) t2 = -(long)t2;
+ if (modulo && RBIGNUM(x)->sign != RBIGNUM(y)->sign) {
+ t2 = t2 + yds[0] * (RBIGNUM(y)->sign ? 1 : -1);
+ }
*mod = INT2NUM(t2);
}
return;
diff --git a/ext/md5/MANIFEST b/ext/md5/MANIFEST
index 8057ebb06c..189a482afb 100644
--- a/ext/md5/MANIFEST
+++ b/ext/md5/MANIFEST
@@ -1,5 +1,6 @@
MANIFEST
depend
+extconf.rb
md5.txt
md5.txt.jp
md5.h