From 0a3d13ba9888f8e51444fe241b0d40183a4dbcab Mon Sep 17 00:00:00 2001 From: ocean Date: Fri, 14 May 2004 03:17:50 +0000 Subject: * util.c (ruby_strtod): strtod("0", &end); => end should point '\0'. [ruby-dev:23498] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8@6306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ util.c | 14 ++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 79b76e5f83..2c031736be 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri May 14 12:11:43 Hirokazu Yamamoto + + * util.c (ruby_strtod): strtod("0", &end); => end should point '\0'. + [ruby-dev:23498] + Thu May 13 15:47:30 2004 akira yamada * lib/net/telnet.rb (Net::Telnet::login): "options" can specify diff --git a/util.c b/util.c index d89e08de5c..4ef34063b0 100644 --- a/util.c +++ b/util.c @@ -772,8 +772,8 @@ ruby_strtod(string, endPtr) } /* - * Count the number of digits in the mantissa (including the decimal - * point), and also locate the decimal point. + * Count the number of digits in the mantissa + * and also locate the decimal point. */ for ( ; c = *p; p += 1) { @@ -805,16 +805,14 @@ ruby_strtod(string, endPtr) */ pExp = p; - p = pMant; /* valid if mantSize > 0 */ + if (mantSize) { + p = pMant; + } if (mantSize > 18) { fracExp += (mantSize - 18); mantSize = 18; } - if (mantSize == 0) { - fraction = 0.0; - p = string; - } - else { + { int frac1, frac2; frac1 = 0; for ( ; mantSize > 9; mantSize -= 1) { -- cgit v1.2.3