[Numpy-discussion] Segfault with python 3.2 structured array non-existent field

Christoph Gohlke cgohlke at uci.edu
Tue Mar 15 14:50:45 EDT 2011



On 3/15/2011 11:34 AM, Christoph Gohlke wrote:
>
>
> On 3/15/2011 10:12 AM, Pauli Virtanen wrote:
>> Tue, 15 Mar 2011 10:06:09 -0700, Matthew Brett wrote:
>>> Sorry to ask, and I ask partly because I'm in the middle of a py3k port,
>>> but is this the right fix to this problem?  I was confused by the
>>> presence of the old PyString_AsString function.
>>
>> It's not a correct fix. The original code seems also wrong ("index" can
>> either be Unicode or Bytes/String object), and will probably bomb when
>> indexing with Unicode strings on Python 2. The right thing to do is to
>> make it show the repr of the "index" object.
>>
>> The PyString_AsString is present, as it's mapped on Py3 to
>> PyBytes_AsString by "npy_3kcompat.h".
>>
>> 	Pauli
>
> I think the proposed patch does correctly fix ticket #1770 and the OP's
> problem under Python 3.
>
> On Python 3.x str() and repr() are the same for byte strings:
>
>>>> str(b's')
> "b's'"
>>>> repr(b's')
> "b's'"
>
> I agree that the code is broken for Python 2.x when indexing with a byte
> object.

sorry, this should read: I agree that the original code is broken for 
Python 2.x when indexing with a unicode object.

Christoph

>
> Christoph
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>



More information about the NumPy-Discussion mailing list