mirror of
https://github.com/python/cpython.git
synced 2025-12-09 18:48:05 +00:00
Issue 4842, patch 2/2: int('3L') should be invalid in Python 3.x.
This commit is contained in:
parent
8dd05147d6
commit
9ffc0205a6
3 changed files with 13 additions and 2 deletions
|
|
@ -284,6 +284,16 @@ class LongTest(unittest.TestCase):
|
||||||
|
|
||||||
self.assertRaises(ValueError, int, '123\0')
|
self.assertRaises(ValueError, int, '123\0')
|
||||||
self.assertRaises(ValueError, int, '53', 40)
|
self.assertRaises(ValueError, int, '53', 40)
|
||||||
|
# trailing L should no longer be accepted...
|
||||||
|
self.assertRaises(ValueError, int, '123L')
|
||||||
|
self.assertRaises(ValueError, int, '123l')
|
||||||
|
self.assertRaises(ValueError, int, '0L')
|
||||||
|
self.assertRaises(ValueError, int, '-37L')
|
||||||
|
self.assertRaises(ValueError, int, '0x32L', 16)
|
||||||
|
self.assertRaises(ValueError, int, '1L', 21)
|
||||||
|
# ... but it's just a normal digit if base >= 22
|
||||||
|
self.assertEqual(int('1L', 22), 43)
|
||||||
|
|
||||||
self.assertRaises(TypeError, int, 1, 12)
|
self.assertRaises(TypeError, int, 1, 12)
|
||||||
|
|
||||||
# SF patch #1638879: embedded NULs were not detected with
|
# SF patch #1638879: embedded NULs were not detected with
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,9 @@ What's New in Python 3.1 alpha 0
|
||||||
Core and Builtins
|
Core and Builtins
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
- Issue #4842: Don't allow trailing 'L' when constructing an integer
|
||||||
|
from a string.
|
||||||
|
|
||||||
- Issue #4991: os.fdopen now raises an OSError for invalid file descriptors.
|
- Issue #4991: os.fdopen now raises an OSError for invalid file descriptors.
|
||||||
|
|
||||||
- Issue #4838: When a module is deallocated, free the memory backing the
|
- Issue #4838: When a module is deallocated, free the memory backing the
|
||||||
|
|
|
||||||
|
|
@ -1990,8 +1990,6 @@ digit beyond the first.
|
||||||
goto onError;
|
goto onError;
|
||||||
if (sign < 0)
|
if (sign < 0)
|
||||||
Py_SIZE(z) = -(Py_SIZE(z));
|
Py_SIZE(z) = -(Py_SIZE(z));
|
||||||
if (*str == 'L' || *str == 'l')
|
|
||||||
str++;
|
|
||||||
while (*str && isspace(Py_CHARMASK(*str)))
|
while (*str && isspace(Py_CHARMASK(*str)))
|
||||||
str++;
|
str++;
|
||||||
if (*str != '\0')
|
if (*str != '\0')
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue