Merged revisions 74673 via svnmerge from

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

........
  r74673 | mark.dickinson | 2009-09-06 11:03:31 +0100 (Sun, 06 Sep 2009) | 3 lines

  Issue #6846: bytearray.pop was returning ints in the range [-128, 128)
  instead of [0, 256).  Thanks Hagen Fürstenau for the report and fix.
........
This commit is contained in:
Mark Dickinson 2009-09-06 10:19:23 +00:00
parent 9c11336786
commit 54a3db9f41
3 changed files with 5 additions and 1 deletions

View File

@ -716,6 +716,8 @@ class ByteArrayTest(BaseBytesTest):
self.assertEqual(b.pop(-2), ord('r'))
self.assertRaises(IndexError, lambda: b.pop(10))
self.assertRaises(OverflowError, lambda: bytearray().pop())
# test for issue #6846
self.assertEqual(bytearray(b'\xff').pop(), 0xff)
def test_nosort(self):
self.assertRaises(AttributeError, lambda: bytearray().sort())

View File

@ -12,6 +12,8 @@ What's New in Python 3.2 Alpha 1?
Core and Builtins
-----------------
- Issue #6846: Fix bug where bytearray.pop() returns negative integers.
- Issue #6750: A text file opened with io.open() could duplicate its output
when writing from multiple threads at the same time.

View File

@ -2705,7 +2705,7 @@ bytearray_pop(PyByteArrayObject *self, PyObject *args)
if (PyByteArray_Resize((PyObject *)self, n - 1) < 0)
return NULL;
return PyLong_FromLong(value);
return PyLong_FromLong((unsigned char)value);
}
PyDoc_STRVAR(remove__doc__,