Merged revisions 65125 via svnmerge from

svn+ssh://pythondev@svn.python.org/python/trunk

........
  r65125 | eric.smith | 2008-07-18 20:24:05 -0400 (Fri, 18 Jul 2008) | 1 line

  Fix issue 3411: default float format spec fails on negative numbers.
........
This commit is contained in:
Eric Smith 2008-07-19 00:33:23 +00:00
parent 32480b0755
commit 2ad79e82c8
2 changed files with 10 additions and 0 deletions

View File

@ -497,6 +497,12 @@ class TypesTests(unittest.TestCase):
test(0.01, '', '0.01') test(0.01, '', '0.01')
test(0.01, 'g', '0.01') test(0.01, 'g', '0.01')
# test for issue 3411
test(1.23, '1', '1.23')
test(-1.23, '1', '-1.23')
test(1.23, '1g', '1.23')
test(-1.23, '1g', '-1.23')
test( 1.0, ' g', ' 1') test( 1.0, ' g', ' 1')
test(-1.0, ' g', '-1') test(-1.0, ' g', '-1')
test( 1.0, '+g', '+1') test( 1.0, '+g', '+1')

View File

@ -302,6 +302,10 @@ ensure_decimal_point(char* buffer, size_t buf_size)
/* search for the first non-digit character */ /* search for the first non-digit character */
char *p = buffer; char *p = buffer;
if (*p == '-' || *p == '+')
/* Skip leading sign, if present. I think this could only
ever be '-', but it can't hurt to check for both. */
++p;
while (*p && isdigit(Py_CHARMASK(*p))) while (*p && isdigit(Py_CHARMASK(*p)))
++p; ++p;