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

ruby-changes:5243

From: nobu <ko1@a...>
Date: Mon, 2 Jun 2008 08:47:19 +0900 (JST)
Subject: [ruby-changes:5243] Ruby:r16742 (ruby_1_8, trunk): * util.c (ruby_strtod, dtoa): initialize more variables for error

nobu	2008-06-02 08:47:02 +0900 (Mon, 02 Jun 2008)

  New Revision: 16742

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/util.c
    trunk/ChangeLog
    trunk/util.c

  Log:
    * util.c (ruby_strtod, dtoa): initialize more variables for error
      handling.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16742&r2=16741&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=16742&r2=16741&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/util.c?r1=16742&r2=16741&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/util.c?r1=16742&r2=16741&diff_format=u

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 16741)
+++ ChangeLog	(revision 16742)
@@ -1,3 +1,8 @@
+Mon Jun  2 08:46:52 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* util.c (ruby_strtod, dtoa): initialize more variables for error
+	  handling.
+
 Mon Jun  2 04:55:05 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* suppress warnings on cygwin, mingw and mswin.
Index: util.c
===================================================================
--- util.c	(revision 16741)
+++ util.c	(revision 16742)
@@ -5,7 +5,7 @@
   $Author$
   created at: Fri Mar 10 17:22:34 JST 1995
 
-  Copyright (C) 1993-2007 Yukihiro Matsumoto
+  Copyright (C) 1993-2008 Yukihiro Matsumoto
 
 **********************************************************************/
 
@@ -48,7 +48,7 @@
 unsigned long
 ruby_scan_hex(const char *start, int len, int *retlen)
 {
-    static char hexdigit[] = "0123456789abcdef0123456789ABCDEF";
+    static const char hexdigit[] = "0123456789abcdef0123456789ABCDEF";
     register const char *s = start;
     register unsigned long retval = 0;
     char *tmp;
@@ -2384,7 +2384,7 @@
 #endif
         dval(rv) = tens[k - 9] * dval(rv) + z;
     }
-    bd0 = 0;
+    bd0 = bb = bd = bs = delta = 0;
     if (nd <= DBL_DIG
 #ifndef RND_PRODQUOT
 #ifndef Honor_FLT_ROUNDS
@@ -3310,7 +3310,7 @@
     int denorm;
     ULong x;
 #endif
-    Bigint *b, *b1, *delta, *mlo, *mhi, *S;
+    Bigint *b, *b1, *delta, *mlo = 0, *mhi = 0, *S;
     double d2, ds, eps;
     char *s, *s0;
 #ifdef Honor_FLT_ROUNDS
@@ -3663,7 +3663,6 @@
 
     m2 = b2;
     m5 = b5;
-    mhi = mlo = 0;
     if (leftright) {
         i =
 #ifndef Sudden_Underflow
Index: ruby_1_8/util.c
===================================================================
--- ruby_1_8/util.c	(revision 16741)
+++ ruby_1_8/util.c	(revision 16742)
@@ -6,7 +6,7 @@
   $Date$
   created at: Fri Mar 10 17:22:34 JST 1995
 
-  Copyright (C) 1993-2003 Yukihiro Matsumoto
+  Copyright (C) 1993-2008 Yukihiro Matsumoto
 
 **********************************************************************/
 
@@ -53,7 +53,7 @@
     int len;
     int *retlen;
 {
-    static char hexdigit[] = "0123456789abcdef0123456789ABCDEF";
+    static const char hexdigit[] = "0123456789abcdef0123456789ABCDEF";
     register const char *s = start;
     register unsigned long retval = 0;
     char *tmp;
@@ -152,8 +152,8 @@
 
 static int valid_filename(char *s);
 
-static char suffix1[] = ".$$$";
-static char suffix2[] = ".~~~";
+static const char suffix1[] = ".$$$";
+static const char suffix2[] = ".~~~";
 
 #define ext (&buf[1000])
 
@@ -2112,6 +2112,7 @@
     const char *s2;
 #endif
 
+    errno = 0;
     sign = nz0 = nz = 0;
     dval(rv) = 0.;
     for (s = s00;;s++)
@@ -2291,7 +2292,7 @@
 #endif
         dval(rv) = tens[k - 9] * dval(rv) + z;
     }
-    bd0 = 0;
+    bd0 = bb = bd = bs = delta = 0;
     if (nd <= DBL_DIG
 #ifndef RND_PRODQUOT
 #ifndef Honor_FLT_ROUNDS
@@ -3217,7 +3218,7 @@
     int denorm;
     ULong x;
 #endif
-    Bigint *b, *b1, *delta, *mlo, *mhi, *S;
+    Bigint *b, *b1, *delta, *mlo = 0, *mhi = 0, *S;
     double d2, ds, eps;
     char *s, *s0;
 #ifdef Honor_FLT_ROUNDS
@@ -3570,7 +3571,6 @@
 
     m2 = b2;
     m5 = b5;
-    mhi = mlo = 0;
     if (leftright) {
         i =
 #ifndef Sudden_Underflow
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 16741)
+++ ruby_1_8/ChangeLog	(revision 16742)
@@ -1,3 +1,8 @@
+Mon Jun  2 08:46:52 2008  Nobuyoshi Nakada  <nobu@r...>
+
+	* util.c (ruby_strtod, dtoa): initialize more variables for error
+	  handling.
+
 Mon Jun  2 05:27:58 2008  Nobuyoshi Nakada  <nobu@r...>
 
 	* io.c (rscheck), marshal.c (w_nbyte, w_bytes, w_unique),

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

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