[macruby-changes] [3807] MacRuby/trunk/bignum.c

source_changes at macosforge.org source_changes at macosforge.org
Thu Mar 18 13:48:59 PDT 2010


Revision: 3807
          http://trac.macosforge.org/projects/ruby/changeset/3807
Author:   lsansonetti at apple.com
Date:     2010-03-18 13:48:58 -0700 (Thu, 18 Mar 2010)
Log Message:
-----------
revert r3806 because it breaks the specs and it also smells like a bad change

Revision Links:
--------------
    http://trac.macosforge.org/projects/ruby/changeset/3806

Modified Paths:
--------------
    MacRuby/trunk/bignum.c

Modified: MacRuby/trunk/bignum.c
===================================================================
--- MacRuby/trunk/bignum.c	2010-03-18 16:25:18 UTC (rev 3806)
+++ MacRuby/trunk/bignum.c	2010-03-18 20:48:58 UTC (rev 3807)
@@ -105,9 +105,15 @@
 	    }
 	}
 	else {
-	    RBIGNUM(big)->as.heap.digits = NULL;
-	    GC_WB(&RBIGNUM(big)->as.heap.digits, ALLOC_N(BDIGIT, len));
-	    RBIGNUM_SET_LEN(big, len);
+	    if (RBIGNUM_LEN(big) == 0) {
+		GC_WB(&RBIGNUM(big)->as.heap.digits, ALLOC_N(BDIGIT, len));
+	    }
+	    else {
+		void *tmp = ruby_xrealloc(RBIGNUM(big)->as.heap.digits, sizeof(BDIGIT) * len);
+		if (tmp != RBIGNUM(big)->as.heap.digits) {
+		    GC_WB(&RBIGNUM(big)->as.heap.digits, tmp);
+		}
+	    }
 	}
     }
 }
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100318/95dc79e2/attachment.html>


More information about the macruby-changes mailing list