Issue #3360: Fix incorrect parsing of '020000000000.0'.

This is a backport of r65005.
This commit is contained in:
Mark Dickinson 2008-07-16 11:04:17 +00:00
parent 4fed741c5d
commit ab396e07cc
3 changed files with 8 additions and 10 deletions

View file

@ -3067,16 +3067,7 @@ parsenumber(const char *s)
#endif
if (*end == 'l' || *end == 'L')
return PyLong_FromString((char *)s, (char **)0, 0);
if (s[0] == '0') {
x = (long) PyOS_strtoul((char *)s, (char **)&end, 0);
if (x < 0 && errno == 0) {
return PyLong_FromString((char *)s,
(char **)0,
0);
}
}
else
x = PyOS_strtol((char *)s, (char **)&end, 0);
x = PyOS_strtol((char *)s, (char **)&end, 0);
if (*end == '\0') {
if (errno != 0)
return PyLong_FromString((char *)s, (char **)0, 0);