From c2257734e34b0077719fa2b7ff62aaefc20614e9 Mon Sep 17 00:00:00 2001 From: matz Date: Mon, 26 May 2008 07:51:46 +0000 Subject: * util.c (ruby_strtod): clear errno at the top of our own impelementation of strtod(3). [ruby-dev:34834] [ruby-dev:34839] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16612 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++-- object.c | 1 - util.c | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/ChangeLog b/ChangeLog index c7567f128b..a2c338ce8c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -66,8 +66,8 @@ Sun May 25 02:37:25 2008 Koichi Sasada Sat May 24 22:32:49 2008 Yukihiro Matsumoto - * object.c (rb_cstr_to_dbl): should clear errno before calling - strtod(3). [ruby-dev:34834] + * util.c (ruby_strtod): clear errno at the top of our own + impelementation of strtod(3). [ruby-dev:34834] [ruby-dev:34839] Sat May 24 15:26:16 2008 Yusuke Endoh diff --git a/object.c b/object.c index dca59471ce..c1c60714e2 100644 --- a/object.c +++ b/object.c @@ -2045,7 +2045,6 @@ rb_cstr_to_dbl(const char *p, int badcheck) if (!p) return 0.0; q = p; while (ISSPACE(*p)) p++; - errno = 0; d = strtod(p, &end); if (errno == ERANGE) { OutOfRange(); diff --git a/util.c b/util.c index fc8874c942..55c7e567f6 100644 --- a/util.c +++ b/util.c @@ -1000,8 +1000,6 @@ static double private_mem[PRIVATE_mem], *pmem_next = private_mem; #define IEEE_Arith #endif -#include "errno.h" - #ifdef Bad_float_h #ifdef IEEE_Arith @@ -2206,6 +2204,7 @@ ruby_strtod(const char *s00, char **se) const char *s2; #endif + errno = 0; sign = nz0 = nz = 0; dval(rv) = 0.; for (s = s00;;s++) -- cgit v1.2.3