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/