[Python-checkins] r61812 - in python/branches/trunk-bytearray: Lib/test/test_io.py Objects/bytesobject.c
christian.heimes
python-checkins at python.org
Sun Mar 23 21:53:08 CET 2008
Author: christian.heimes
Date: Sun Mar 23 21:53:08 2008
New Revision: 61812
Modified:
python/branches/trunk-bytearray/Lib/test/test_io.py
python/branches/trunk-bytearray/Objects/bytesobject.c
Log:
Clear error PyNumber_AsSsize_t() fails
Use CHARMASK for ob_svall access
disabled a test with memoryview again
Modified: python/branches/trunk-bytearray/Lib/test/test_io.py
==============================================================================
--- python/branches/trunk-bytearray/Lib/test/test_io.py (original)
+++ python/branches/trunk-bytearray/Lib/test/test_io.py Sun Mar 23 21:53:08 2008
@@ -254,7 +254,8 @@
self.assertEqual(f.read(), b"xxx")
f.close()
- def test_array_writes(self):
+ def XXXtest_array_writes(self):
+ # XXX memory view not available yet
a = array.array('i', range(10))
n = len(memoryview(a))
f = io.open(test_support.TESTFN, "wb", 0)
Modified: python/branches/trunk-bytearray/Objects/bytesobject.c
==============================================================================
--- python/branches/trunk-bytearray/Objects/bytesobject.c (original)
+++ python/branches/trunk-bytearray/Objects/bytesobject.c Sun Mar 23 21:53:08 2008
@@ -46,7 +46,7 @@
PyErr_SetString(PyExc_ValueError, "string must be of size 1");
return 0;
}
- face_value = ((PyStringObject*)arg)->ob_sval[0];
+ face_value = Py_CHARMASK(((PyStringObject*)arg)->ob_sval[0]);
}
else {
PyErr_Format(PyExc_TypeError, "an integer or string of size 1 is required");
@@ -608,10 +608,12 @@
}
else {
Py_ssize_t ival = PyNumber_AsSsize_t(values, PyExc_ValueError);
- if (ival == -1 && PyErr_Occurred())
+ if (ival == -1 && PyErr_Occurred()) {
/* Also accept str of size 1 in 2.x */
+ PyErr_Clear();
if (!_getbytevalue(values, &ival))
return -1;
+ }
if (ival < 0 || ival >= 256) {
PyErr_SetString(PyExc_ValueError,
"byte must be in range(0, 256)");
More information about the Python-checkins
mailing list