Author: Matti Picus <[email protected]>
Branch: cpyext-FromBuffer
Changeset: r89482:629285e34cf7
Date: 2017-01-10 22:51 +0200
http://bitbucket.org/pypy/pypy/changeset/629285e34cf7/
Log: fix translation (ndim, readonly need widen() )
diff --git a/pypy/module/cpyext/memoryobject.py
b/pypy/module/cpyext/memoryobject.py
--- a/pypy/module/cpyext/memoryobject.py
+++ b/pypy/module/cpyext/memoryobject.py
@@ -61,19 +61,20 @@
from pypy.module.cpyext.slotdefs import CPyBuffer, fq
py_mem = rffi.cast(PyMemoryViewObject, obj)
view = py_mem.c_view
+ ndim = widen(view.c_ndim)
shape = None
if view.c_shape:
- shape = [view.c_shape[i] for i in range(view.c_ndim)]
+ shape = [view.c_shape[i] for i in range(ndim)]
strides = None
if view.c_strides:
- strides = [view.c_strides[i] for i in range(view.c_ndim)]
+ strides = [view.c_strides[i] for i in range(ndim)]
format = 'B'
if view.c_format:
format = rffi.charp2str(view.c_format)
buf = CPyBuffer(space, view.c_buf, view.c_len, from_ref(space, view.c_obj),
format=format, shape=shape, strides=strides,
- ndim=view.c_ndim, itemsize=view.c_itemsize,
- readonly=view.c_readonly)
+ ndim=ndim, itemsize=view.c_itemsize,
+ readonly=widen(view.c_readonly))
# Ensure view.c_buf is released upon object finalization
fq.register_finalizer(buf)
# Allow subclassing W_MemeoryView
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit