175a176,196
> # buffer protocol
> 
> getBuffer = pythonapi.PyObject_GetBuffer
> getBuffer.argtypes = [py_object, c_void_p, c_int]
> bulen = 11*sizeof(c_ssize_t)
> view = create_string_buffer(bulen)
> 
> def getBufferInfo(someObject):
>     pointer_to_sO = py_object(someObject)
>     result = getBuffer(pointer_to_sO,view,1) # writeable
>     
>     if result != 0 : return None,None
>     bufadr,objadr,buflen,itemsize,readonly,ndim,bformat,shape,strides,\
>       suboffsets,internal =  unpack("11I",view)
>    
>     result = pythonapi.PyBuffer_Release(view)
> 
>     return (bufadr,buflen)
> 
> 
> 
917,918c938,940
<         address, length = buff.buffer_info()
<         length *= buff.itemsize
---
>         ### changed !!! address, length = buff.buffer_info()
>         address,length = getBufferInfo(buff)
>         ### removed length *= buff.itemsize
