diff options
author | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-14 03:17:50 +0000 |
---|---|---|
committer | ocean <ocean@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-14 03:17:50 +0000 |
commit | f759aa5877d5cab4f22ce250933b4d5742030582 (patch) | |
tree | 5245b49f2db301fff61e0cd2d7119c72e874c0fb /util.c | |
parent | 95688a39b86384d09f783f71c7811b782ceca289 (diff) | |
download | ruby-f759aa5877d5cab4f22ce250933b4d5742030582.tar.gz ruby-f759aa5877d5cab4f22ce250933b4d5742030582.tar.xz ruby-f759aa5877d5cab4f22ce250933b4d5742030582.zip |
* util.c (ruby_strtod): strtod("0", &end); => end should point '\0'.
[ruby-dev:23498]
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@6306 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'util.c')
-rw-r--r-- | util.c | 14 |
1 files changed, 6 insertions, 8 deletions
@@ -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) { |