docs error for PyBuffer_FillInfo?

Diez B. Roggisch deets at nospam.web.de
Sun Jun 21 22:08:50 CEST 2009


Christian Heimes schrieb:
> Diez B. Roggisch wrote:
>> And obviously enough, compiling my wrapper fails because there is an
>> argument missing.
>>
>> So, I'm in need for a guide on how to use PyBuffer_FillInfo properly -
>> all I've got is a void* and a total size of the buffer.
> 
> The second argument points to the (optional) object for that you are
> creating the view. The code in Object/stringobject.c is a good example:
> 
> static int
> string_buffer_getbuffer(PyStringObject *self, Py_buffer *view, int flags)
> {
>         return PyBuffer_FillInfo(view, (PyObject*)self,
>                                  (void *)self->ob_sval, Py_SIZE(self),
>                                  1, flags);
> }

But doesn't this mean the docs are faulty? Shall I report a bug?

And I have to say that the docs are anything but clear to me. As I said, 
I've got a method

void *lock(readonly=True)

as part of a C++-library. So, all I've got is a void-pointer and a 
length (through another method).

But I'm unsure about how to allocate the view - just with malloc? What 
about reference-counting, do I have to increment it?

A self-contained example in the docs would be great. Any pointers?

Thanks,

Diez



More information about the Python-list mailing list