[issue23352] PyBuffer_IsContiguous() sometimes returns wrong result if suboffsets != NULL

Stefan Krah report at bugs.python.org
Sun Feb 1 09:59:39 CET 2015


Stefan Krah added the comment:

> Richard Hansen added the comment:
> > Cython doesn't follow the spec though (use Python 3):
> > 
> >     from _testbuffer import *
> >     cpdef foo():
> >         cdef unsigned char[:] v = bytearray(b"testing")
> >         nd = ndarray(v, getbuf=PyBUF_ND)
> >         print(nd.suboffsets)
> >         nd = ndarray(v, getbuf=PyBUF_FULL)
> >         print(nd.suboffsets)
> 
> When I compile and run the above (latest Cython from Git master), I get:
> 
>     ()
>     ()

With Cython version 0.20.1post0 I get:

>>> foo.foo()
(-1,)
(-1,)

If you get the correct output from the latest Cython, it looks like this
issue has been fixed.

----------

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue23352>
_______________________________________


More information about the Python-bugs-list mailing list