Author: Matti Picus <[email protected]>
Branch: issue2752
Changeset: r94283:882bbee00812
Date: 2018-04-09 10:32 +0300
http://bitbucket.org/pypy/pypy/changeset/882bbee00812/
Log: after PyObject_GetBuffer fails, a second call also fails,
PyString_AsString succeeds
diff --git a/pypy/module/cpyext/test/test_bufferobject.py
b/pypy/module/cpyext/test/test_bufferobject.py
--- a/pypy/module/cpyext/test/test_bufferobject.py
+++ b/pypy/module/cpyext/test/test_bufferobject.py
@@ -81,14 +81,22 @@
return NULL;
if (((unsigned char*)bp.buf)[0] != '0') {
+ void * buf = (void*)bp.buf;
+ unsigned char val[4];
+ unsigned char * s = PyString_AsString(obj);
+ memcpy(val, bp.buf, 4);
+ PyBuffer_Release(&bp);
+ if (PyObject_GetBuffer(obj, &bp, PyBUF_SIMPLE) == -1)
+ return NULL;
PyErr_Format(PyExc_ValueError,
- "mismatch: 0x%x [%x %x %x %x...] instead of '0'
(got len=%d)",
+ "mismatch: %p [%x %x %x %x...] now %p [%x %x %x
%x...] as str '%s'",
+ buf, val[0], val[1], val[2], val[3],
+ (void *)bp.buf,
((unsigned char*)bp.buf)[0],
((unsigned char*)bp.buf)[1],
((unsigned char*)bp.buf)[2],
((unsigned char*)bp.buf)[3],
- ((unsigned char*)bp.buf)[4],
- bp.len);
+ s);
PyBuffer_Release(&bp);
return NULL;
}
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit