Sturla Molden skrev:
>
> cimport stdlib
>
> cdef class mallocbuffer:
>
>     cdef readonly void *buf
>     cdef readonly size_t nbytes
>
>     def __cinit__(membuffer self, size_t nbytes):
>         self.buf = stdlib.malloc(nbytes)
>         if (self.buf == NULL):
>             raise MemoryError, 'malloc failed'
>         self.nbytes = nbytes
>
>     def __dealloc__(membuffer self):
>         if (self.buf): stdlib.free(self.buf)
>   
Oops, two minor typos (it's getting late) :-)

cdef class membuffer:

    cdef readonly void *buf
    cdef readonly Py_ssize_t nbytes

    def __cinit__(membuffer self, Py_ssize_t nbytes):
        self.buf = stdlib.malloc(nbytes)
        if (self.buf == NULL):
            raise MemoryError, 'malloc failed'
        self.nbytes = nbytes

    def __dealloc__(membuffer self):
        if (self.buf): stdlib.free(self.buf)


S.M.
_______________________________________________
Cython-dev mailing list
[email protected]
http://codespeak.net/mailman/listinfo/cython-dev

Reply via email to