[Python-Dev] Re: [Python-checkins] python/dist/src/Objects
bufferobject.c, 2.22, 2.23
Neil Schemenauer
nas-python at python.ca
Wed Mar 10 22:01:34 EST 2004
On Wed, Mar 10, 2004 at 06:42:47PM -0800, nascheme at users.sourceforge.net wrote:
> Modified Files:
> bufferobject.c
> Log Message:
> Make buffer objects based on immutable objects (like array) safe.
Perfect is the enemy of better.
I would appreciate it if people could review this change. The
potential for range errors seems high. I tried hard to make the
change more easily reviewable (at some cost to the resulting code
readability).
The mean idea of the change is that instead of using b_ptr and
b_size directly, get_buf() is called as necessary to retrieve them.
If the buffer is based on memory then b_ptr and b_size are set
normally and get_buf() just returns them. If the buffer is based on
an object then get_buf() calls the tp_as_buffer method to retrieve
them.
I believe this fixes the nastier problems of the buffer object. The
only remaining problem that I know of is that buffer_hash may not
raise a TypeError when it really should.
Neil
More information about the Python-Dev
mailing list