[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