summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--util.c14
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 <ocean@m2.ccsnet.ne.jp>
+
+ * util.c (ruby_strtod): strtod("0", &end); => end should point '\0'.
+ [ruby-dev:23498]
+
Thu May 13 15:47:30 2004 akira yamada <akira@ruby-lang.org>
* 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) {