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

Reply via email to