On 6/7/06, Kristján V. Jónsson <[EMAIL PROTECTED]> wrote: > As a side note, It always seemed to me that the bf_getcharbuffer´s semantics > were poorly defined. At least in the 2.3 documentation. Has that, and the > need for it, changed recently? >
I have tried to clean up the language a bit based on how I was interpreting the docs. Hopefully that isn't wrong since I am basing my patch on it. =) But since I don't use buffers ever and Py3k is ditching buffers for the bytes type, I am personally not going to worry about changing their definition beyond clarifying the docs. -Brett > Kristján > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Brett Cannon > Sent: 6. júní 2006 22:30 > To: Python Dev > Subject: [Python-Dev] How to fix the buffer object's broken char buffersupport > > If you run ``import array; int(buffer(array.array('c')))`` the interpreter > will segfault. While investigating this I discovered that buffer objects, > for their tp_as_buffer->bf_getcharbuffer, return the result by calling the > wrapped object bf_getreadbuffer or bf_getwritebuffer. This is wrong since it > is essentially redirecting the expected call to the wrong tp_as_buffer slot > for the wrapped object. Plus it doesn't have Py_TPFLAGS_HAVE_GETCHARBUFFER > defined. > > I see two options here. One is to remove the bf_getcharbuffer slot from the > buffer object. The other option is to fix it so that it only returns > bf_getcharbuffer and doesn't redirect improperly (this also brings up the > issue if Py_TPFLAGS_HAVE_GETCHARBUFFER should then also be defined for buffer > objects). > > Since I don't use buffer objects I don't know if it is better to fix this or > just rip it out. > > -Brett > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/kristjan%40ccpgames.com > _______________________________________________ > Python-Dev mailing list > Python-Dev@python.org > http://mail.python.org/mailman/listinfo/python-dev > Unsubscribe: > http://mail.python.org/mailman/options/python-dev/brett%40python.org > _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com