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

Matthew Brett matthew.brett@gmail....
Tue Mar 15 12:23:35 CDT 2011


Hi,

On Tue, Mar 15, 2011 at 10:12 AM, Pauli Virtanen <pav@iki.fi> 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.

OK - I realize I'm being very lazy here but, do you mean:

        PyErr_Format(PyExc_ValueError,
>>                      "field named %s not found.",
>>                      PyString_AsString(PyObject_Repr(index)));

> The PyString_AsString is present, as it's mapped on Py3 to
> PyBytes_AsString by "npy_3kcompat.h".

Oh - dear - I think I felt a blood vessel pop somewhere in my brain :)

See you,

Matthew


More information about the NumPy-Discussion mailing list