[Python-Dev] PEP 3118: Extended buffer protocol (new version) (original) (raw)
Lisandro Dalcin dalcinl at gmail.com
Fri Apr 13 16:05:41 CEST 2007
- Previous message: [Python-Dev] PEP 3118: Extended buffer protocol (new version)
- Next message: [Python-Dev] PEP 3118: Extended buffer protocol (new version)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 4/13/07, Travis Oliphant <oliphant.travis at ieee.org> wrote:
>> int PyObjectGetContiguous(PyObject *obj, void **buf, Pyssizet >> *len, >> int fortran) >> >> Return a contiguous chunk of memory representing the buffer. If a >> copy is made then return 1. If no copy was needed return 0. > > 8) If a copy was made, What should consumers call to free memory?
You are right. We need a free function.
I think now the memory perhaps should be allocated with PyMem_New and deallocated with PyMem_Free.
Additionally, the return should perhaps indicate success or failure, and a new argument should be passed in order to know if a copy was made, something like
int PyObject_GetContiguous(PyObject *obj, void **buf, Py_ssize_t *len, int *copy, char layout)
-- Lisandro Dalcín
Centro Internacional de Métodos Computacionales en Ingeniería (CIMEC) Instituto de Desarrollo Tecnológico para la Industria Química (INTEC) Consejo Nacional de Investigaciones Científicas y Técnicas (CONICET) PTLC - Güemes 3450, (3000) Santa Fe, Argentina Tel/Fax: +54-(0)342-451.1594
- Previous message: [Python-Dev] PEP 3118: Extended buffer protocol (new version)
- Next message: [Python-Dev] PEP 3118: Extended buffer protocol (new version)
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]