summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--util.c7
2 files changed, 8 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index 6dd99872e7..b2f0c13c90 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu May 11 18:10:43 2006 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * util.c (ruby_strtod): should not raise ERANGE when the input
+ string does not have any digits. [ruby-dev:28629]
+
Sun May 7 03:09:51 2006 Stephan Maka <stephan@spaceboyz.net>
* lib/resolv.rb (Resolv::DNS::Requester::ConnectedUDP#initialize):
diff --git a/util.c b/util.c
index 42ab81039b..1b60948502 100644
--- a/util.c
+++ b/util.c
@@ -681,8 +681,8 @@ ruby_getcwd()
*
*/
-static int MDMINEXPT = -323;
-static int MDMAXEXPT = 309;
+#define MDMINEXPT DBL_MIN_EXP
+#define MDMAXEXPT DBL_MAX_EXP
/*
*----------------------------------------------------------------------
@@ -798,7 +798,7 @@ ruby_strtod(string, endPtr)
* they can't affect the value anyway.
*/
- pExp = p;
+ pExp = p;
if (mantSize) {
p = pMant;
}
@@ -807,7 +807,6 @@ ruby_strtod(string, endPtr)
mantSize = 18;
}
if (!hasDigit) {
- errno = ERANGE;
fraction = 0.0;
p = string;
}