ruby-changes:17709
From: naruse <ko1@a...>
Date: Mon, 8 Nov 2010 18:31:26 +0900 (JST)
Subject: [ruby-changes:17709] Ruby:r29720 (trunk): * util.c (ruby_hdtoa): fix type cast and bufsize.
naruse 2010-11-08 18:28:42 +0900 (Mon, 08 Nov 2010) New Revision: 29720 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=29720 Log: * util.c (ruby_hdtoa): fix type cast and bufsize. Modified files: trunk/ChangeLog trunk/util.c Index: ChangeLog =================================================================== --- ChangeLog (revision 29719) +++ ChangeLog (revision 29720) @@ -1,3 +1,7 @@ +Mon Nov 8 18:26:03 2010 NARUSE, Yui <naruse@r...> + + * util.c (ruby_hdtoa): fix type cast and bufsize. + Mon Nov 8 15:40:56 2010 NARUSE, Yui <naruse@r...> * vsnprintf.c (BSD_vfprintf): fix precision specifier doesn't Index: util.c =================================================================== --- util.c (revision 29719) +++ util.c (revision 29720) @@ -3934,8 +3934,8 @@ #define SIGFIGS ((DBL_MANT_DIG + 3) / 4 + 1) #define dexp_get(u) ((int)(word0(u) >> Exp_shift) & ~Exp_msk1) #define dexp_set(u,v) (word0(u) = (((int)(word0(u)) & ~Exp_mask) | (v << Exp_shift))) -#define dmanh_get(u) ((int)(word0(u) & Frac_mask)) -#define dmanl_get(u) ((int)word1(u)) +#define dmanh_get(u) ((uint32_t)(word0(u) & Frac_mask)) +#define dmanl_get(u) ((uint32_t)word1(u)) /* @@ -4008,7 +4008,7 @@ * enough space for all the digits. */ bufsize = (ndigits > 0) ? ndigits : SIGFIGS; - s0 = rv_alloc(bufsize); + s0 = rv_alloc(bufsize+1); /* Round to the desired number of digits. */ if (SIGFIGS > ndigits && ndigits > 0) { -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/