diff options
author | Eric Smith <eric@trueblade.com> | 2009-10-27 19:42:57 (GMT) |
---|---|---|
committer | Eric Smith <eric@trueblade.com> | 2009-10-27 19:42:57 (GMT) |
commit | b218d289e6f5ceeb7979528d5c10bfcfb378b0b6 (patch) | |
tree | 0f325585e5ff80760f8e30c567e12e6c188f567d /Python | |
parent | 0df2c73d6cbacc7ed7b78ea7ae049d1396066596 (diff) | |
download | cpython-b218d289e6f5ceeb7979528d5c10bfcfb378b0b6.zip cpython-b218d289e6f5ceeb7979528d5c10bfcfb378b0b6.tar.gz cpython-b218d289e6f5ceeb7979528d5c10bfcfb378b0b6.tar.bz2 |
Removed PyOS_ascii_atof from marshal.c, as mentioned in issue 7117. Also brings it more in line with py3k.
Diffstat (limited to 'Python')
-rw-r--r-- | Python/marshal.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/Python/marshal.c b/Python/marshal.c index ca2f9aa..865a0c8 100644 --- a/Python/marshal.c +++ b/Python/marshal.c @@ -698,10 +698,9 @@ r_object(RFILE *p) break; } buf[n] = '\0'; - retval = NULL; - PyFPE_START_PROTECT("atof", break) - dx = PyOS_ascii_atof(buf); - PyFPE_END_PROTECT(dx) + dx = PyOS_string_to_double(buf, NULL, NULL); + if (dx == -1.0 && PyErr_Occurred()) + break; retval = PyFloat_FromDouble(dx); break; } @@ -738,10 +737,9 @@ r_object(RFILE *p) break; } buf[n] = '\0'; - retval = NULL; - PyFPE_START_PROTECT("atof", break;) - c.real = PyOS_ascii_atof(buf); - PyFPE_END_PROTECT(c) + c.real = PyOS_string_to_double(buf, NULL, NULL); + if (c.real == -1.0 && PyErr_Occurred()) + break; n = r_byte(p); if (n == EOF || r_string(buf, (int)n, p) != n) { PyErr_SetString(PyExc_EOFError, @@ -750,9 +748,9 @@ r_object(RFILE *p) break; } buf[n] = '\0'; - PyFPE_START_PROTECT("atof", break) - c.imag = PyOS_ascii_atof(buf); - PyFPE_END_PROTECT(c) + c.imag = PyOS_string_to_double(buf, NULL, NULL); + if (c.imag == -1.0 && PyErr_Occurred()) + break; retval = PyComplex_FromCComplex(c); break; } |