summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCorinna Vinschen <corinna@vinschen.de>2012-12-19 10:16:00 +0000
committerCorinna Vinschen <corinna@vinschen.de>2012-12-19 10:16:00 +0000
commitfb2b6cb86890a59fcfc7085a0b966f30563990af (patch)
tree77142615ac2c8cf0a41bcbf942022f86bbd9814a
parent17ecab12a81003db4362156044a75df35defa227 (diff)
downloadcygnal-fb2b6cb86890a59fcfc7085a0b966f30563990af.tar.gz
cygnal-fb2b6cb86890a59fcfc7085a0b966f30563990af.tar.bz2
cygnal-fb2b6cb86890a59fcfc7085a0b966f30563990af.zip
* libc/stdlib/strtod.c (_strtod_r): Revert change from 2011-05-16.
-rw-r--r--newlib/ChangeLog4
-rw-r--r--newlib/libc/stdlib/strtod.c18
2 files changed, 12 insertions, 10 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog
index 62c36c85f..f8e2e4ebd 100644
--- a/newlib/ChangeLog
+++ b/newlib/ChangeLog
@@ -1,3 +1,7 @@
+2012-12-19 Corinna Vinschen <vinschen@redhat.com>
+
+ * libc/stdlib/strtod.c (_strtod_r): Revert change from 2011-05-16.
+
2012-12-18 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/math.h: Remove the log2f macro.
diff --git a/newlib/libc/stdlib/strtod.c b/newlib/libc/stdlib/strtod.c
index 7e73b12ac..fe6aac206 100644
--- a/newlib/libc/stdlib/strtod.c
+++ b/newlib/libc/stdlib/strtod.c
@@ -309,7 +309,8 @@ _DEFUN (_strtod_r, (ptr, s00, se),
}
nd0 = nd;
if (strncmp (s, _localeconv_r (ptr)->decimal_point,
- strlen (_localeconv_r (ptr)->decimal_point)) == 0) {
+ strlen (_localeconv_r (ptr)->decimal_point)) == 0)
+ {
decpt = 1;
c = *(s += strlen (_localeconv_r (ptr)->decimal_point));
if (!nd) {
@@ -327,28 +328,25 @@ _DEFUN (_strtod_r, (ptr, s00, se),
have_dig:
nz++;
if (c -= '0') {
+ nf += nz;
for(i = 1; i < nz; i++) {
- if (nd <= DBL_DIG + 1) {
- if (nd + i < 10)
+ if (nd++ <= DBL_DIG + 1) {
+ if (nd < 10)
y *= 10;
else
z *= 10;
}
}
- if (nd <= DBL_DIG + 1) {
- if (nd + i < 10)
+ if (nd++ <= DBL_DIG + 1) {
+ if (nd < 10)
y = 10*y + c;
else
z = 10*z + c;
}
- if (nd <= DBL_DIG + 1) {
- nf += nz;
- nd += nz;
- }
nz = 0;
+ }
}
}
- }
dig_done:
e = 0;
if (c == 'e' || c == 'E') {