[前][次][番号順一覧][スレッド一覧]

ruby-changes:6824

From: shyouhei <ko1@a...>
Date: Mon, 4 Aug 2008 14:05:55 +0900 (JST)
Subject: [ruby-changes:6824] Ruby:r18339 (ruby_1_8_7): merge revision(s) 18211:

shyouhei	2008-08-04 14:05:38 +0900 (Mon, 04 Aug 2008)

  New Revision: 18339

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18339

  Log:
    merge revision(s) 18211:
    * bignum.c (rb_big2str0, bigsqr): made interruptible.  [ruby-Bugs-20622]

  Modified files:
    branches/ruby_1_8_7/ChangeLog
    branches/ruby_1_8_7/bignum.c
    branches/ruby_1_8_7/common.mk
    branches/ruby_1_8_7/version.h

Index: ruby_1_8_7/ChangeLog
===================================================================
--- ruby_1_8_7/ChangeLog	(revision 18338)
+++ ruby_1_8_7/ChangeLog	(revision 18339)
@@ -1,3 +1,7 @@
+Mon Aug  4 13:53:42 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* bignum.c (rb_big2str0, bigsqr): made interruptible.  [ruby-Bugs-20622]
+
 Mon Aug  4 13:31:41 2008  NAKAMURA Usaku  <usa@r...>
 
 	* numeric.c (check_uint, rb_num2uint, rb_fix2uint): fixed wrong check
Index: ruby_1_8_7/version.h
===================================================================
--- ruby_1_8_7/version.h	(revision 18338)
+++ ruby_1_8_7/version.h	(revision 18339)
@@ -2,7 +2,7 @@
 #define RUBY_RELEASE_DATE "2008-08-04"
 #define RUBY_VERSION_CODE 187
 #define RUBY_RELEASE_CODE 20080804
-#define RUBY_PATCHLEVEL 66
+#define RUBY_PATCHLEVEL 67
 
 #define RUBY_VERSION_MAJOR 1
 #define RUBY_VERSION_MINOR 8
Index: ruby_1_8_7/bignum.c
===================================================================
--- ruby_1_8_7/bignum.c	(revision 18338)
+++ ruby_1_8_7/bignum.c	(revision 18339)
@@ -11,6 +11,7 @@
 **********************************************************************/
 
 #include "ruby.h"
+#include "rubysig.h"
 
 #include <math.h>
 #include <float.h>
@@ -720,6 +721,7 @@
     s = RSTRING(ss)->ptr;
 
     s[0] = RBIGNUM(x)->sign ? '+' : '-';
+    TRAP_BEG;
     while (i && j > 1) {
 	long k = i;
 	BDIGIT_DBL num = 0;
@@ -749,6 +751,7 @@
 	RSTRING(ss)->len = i;
     }
     s[RSTRING(ss)->len] = '\0';
+    TRAP_END;
 
     return ss;
 }
@@ -1735,11 +1738,13 @@
     RBIGNUM(z)->len = len;
     a2 = bigtrunc(rb_big_mul0(a, b));
     len = RBIGNUM(a2)->len;
+    TRAP_BEG;
     for (i = 0, num = 0; i < len; i++) {
 	num += (BDIGIT_DBL)BDIGITS(z)[i + k] + ((BDIGIT_DBL)BDIGITS(a2)[i] << 1);
 	BDIGITS(z)[i + k] = BIGLO(num);
 	num = BIGDN(num);
     }
+    TRAP_END;
     if (num) {
 	len = RBIGNUM(z)->len;
 	for (i += k; i < len && num; ++i) {
Index: ruby_1_8_7/common.mk
===================================================================
--- ruby_1_8_7/common.mk	(revision 18338)
+++ ruby_1_8_7/common.mk	(revision 18339)
@@ -362,7 +362,8 @@
   {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
   {$(VPATH)}util.h {$(VPATH)}st.h
 bignum.$(OBJEXT): {$(VPATH)}bignum.c {$(VPATH)}ruby.h config.h \
-  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h
+  {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
+  {$(VPATH)}rubysig.h
 class.$(OBJEXT): {$(VPATH)}class.c {$(VPATH)}ruby.h config.h \
   {$(VPATH)}defines.h {$(VPATH)}intern.h {$(VPATH)}missing.h \
   {$(VPATH)}rubysig.h {$(VPATH)}node.h {$(VPATH)}st.h

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]