[macruby-changes] [2842] MacRuby/trunk/ext/bigdecimal/bigdecimal.c

source_changes at macosforge.org source_changes at macosforge.org
Sat Oct 17 17:36:20 PDT 2009


Revision: 2842
          http://trac.macosforge.org/projects/ruby/changeset/2842
Author:   lsansonetti at apple.com
Date:     2009-10-17 17:36:19 -0700 (Sat, 17 Oct 2009)
Log Message:
-----------
fixing some bigdecimal bugs

Modified Paths:
--------------
    MacRuby/trunk/ext/bigdecimal/bigdecimal.c

Modified: MacRuby/trunk/ext/bigdecimal/bigdecimal.c
===================================================================
--- MacRuby/trunk/ext/bigdecimal/bigdecimal.c	2009-10-18 00:34:47 UTC (rev 2841)
+++ MacRuby/trunk/ext/bigdecimal/bigdecimal.c	2009-10-18 00:36:19 UTC (rev 2842)
@@ -721,7 +721,7 @@
 BigDecimalCmp(VALUE self, VALUE r,char op)
 {
     ENTER(5);
-    S_INT e = 0;
+    S_INT e;
     Real *a, *b;
     GUARD_OBJ(a,GetVpValue(self,1));
     b = GetVpValue(r,0);
@@ -730,7 +730,7 @@
 
 	switch(op)
 	{
-	  case '*': return   INT2FIX(e); /* any op */
+	  case '*': f = rb_intern("<=>");break;
 	  case '=': f = rb_intern("=="); break;
 	  case '!': f = rb_intern("!="); break;
 	  case 'G': f = rb_intern(">="); break;
@@ -1906,7 +1906,7 @@
     rb_define_const(rb_cBigDecimal, "SIGN_NEGATIVE_INFINITE",INT2FIX(VP_SIGN_NEGATIVE_INFINITE));
 
     /* instance methods */
-    rb_define_method(rb_cBigDecimal, "precs", BigDecimal_prec, 0);
+    rb_objc_define_method(rb_cBigDecimal, "precs", BigDecimal_prec, 0);
 
     rb_objc_define_method(rb_cBigDecimal, "add", BigDecimal_add2, 2);
     rb_objc_define_method(rb_cBigDecimal, "sub", BigDecimal_sub2, 2);
@@ -2523,7 +2523,9 @@
 
     /* Skip all '_' after digit: 2006-6-30 */
     ni = 0;
-    psz = ALLOCA_N(char,strlen(szVal)+1);
+    VALUE bstr = rb_bytestring_new();
+    rb_bytestring_resize(bstr, strlen(szVal)+1);
+    psz = (char *)rb_bytestring_byte_pointer(bstr);
     i   = 0;
     ipn = 0;
     while((psz[i]=szVal[ipn])!=0) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20091017/f16c45f4/attachment.html>


More information about the macruby-changes mailing list