chiark / gitweb /
codec.pyx.in: Cast arguments to `xfree'.
[mLib-python] / codec.pyx.in
index 98fc8dd83863f84e318e8d853d13af663f62e521..2d54d0cdc5b52eb0e462d414345076232e8a1c27 100644 (file)
@@ -40,18 +40,18 @@ cdef class %CLASS%Encode:
     me.ctx.indent = NULL
   def __init__(me, indent = '\n', maxline = 72):
     if me.ctx.indent:
-      xfree(me.ctx.indent)
+      xfree(<void *>me.ctx.indent)
     me.ctx.indent = xstrdup(indent)
     me.ctx.maxline = maxline
   def __dealloc__(me):
     if me.ctx.indent:
-      xfree(me.ctx.indent)
+      xfree(<void *>me.ctx.indent)
   property indent:
     def __get__(me):
       return me.ctx.indent
     def __set__(me, indent):
       if me.ctx.indent:
-        xfree(me.ctx.indent)
+        xfree(<void *>me.ctx.indent)
       me.ctx.indent = xstrdup(indent)
   property maxline:
     def __get__(me):
@@ -60,11 +60,11 @@ cdef class %CLASS%Encode:
       me.ctx.maxline = maxline
   def encode(me, text):
     cdef void *p
-    cdef int len
+    cdef Py_ssize_t len
     cdef dstr d
     DCREATE(&d)
     try:
-      PyObject_AsReadBuffer(text, &p, &len)
+      PyObject_AsReadBuffer(text, <cvp *>&p, &len)
       _%PREFIX%_encode(&me.ctx, p, len, &d)
       rc = PyString_FromStringAndSize(d.buf, d.len)
     finally:
@@ -91,11 +91,11 @@ cdef class %CLASS%Decode:
     me.ctx.indent = NULL
   def decode(me, text):
     cdef void *p
-    cdef int len
+    cdef Py_ssize_t len
     cdef dstr d
     DCREATE(&d)
     try:
-      PyObject_AsReadBuffer(text, &p, &len)
+      PyObject_AsReadBuffer(text, <cvp *>&p, &len)
       _%PREFIX%_decode(&me.ctx, p, len, &d)
       rc = PyString_FromStringAndSize(d.buf, d.len)
     finally: