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

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/

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