chiark / gitweb /
assoc.pyx, sym.pyx: Mark arguments as `not None'.
[mLib-python] / codec.pyx.in
index e68323327b12201a316a7da982a9a98d010a8291..37e02936b4df0269ae8a429516d42c334eea7182 100644 (file)
@@ -1,31 +1,27 @@
-# -*-pyrex-*-
-#
-# $Id$
-#
-# Generic encoder/decoder
-#
-# (c) 2005 Straylight/Edgeware
-#
+### -*-pyrex-*-
+###
+### Generic encoder/decoder
+###
+### (c) 2005 Straylight/Edgeware
+###
 
-#----- Licensing notice -----------------------------------------------------
-#
-# This file is part of the Python interface to mLib.
-#
-# mLib/Python is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-#
-# mLib/Python is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with mLib/Python; if not, write to the Free Software Foundation,
-# Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-#----- External dependencies ------------------------------------------------
+###----- Licensing notice ---------------------------------------------------
+###
+### This file is part of the Python interface to mLib.
+###
+### mLib/Python is free software; you can redistribute it and/or modify
+### it under the terms of the GNU General Public License as published by
+### the Free Software Foundation; either version 2 of the License, or
+### (at your option) any later version.
+###
+### mLib/Python is distributed in the hope that it will be useful,
+### but WITHOUT ANY WARRANTY; without even the implied warranty of
+### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+### GNU General Public License for more details.
+###
+### You should have received a copy of the GNU General Public License
+### along with mLib/Python; if not, write to the Free Software Foundation,
+### Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
 
 cdef extern from 'mLib/%PREFIX%.h':
   ctypedef struct %PREFIX%_ctx:
@@ -39,7 +35,7 @@ cdef extern from 'mLib/%PREFIX%.h':
 
 cdef class %CLASS%Encode:
   cdef %PREFIX%_ctx ctx
-  def __new__(me, *hunoz, **hukairz):
+  def __cinit__(me, *hunoz, **hukairz):
     _%PREFIX%_init(&me.ctx)
     me.ctx.indent = NULL
   def __init__(me, indent = '\n', maxline = 72):
@@ -64,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:
@@ -90,16 +86,16 @@ def %PREFIX%_encode(text, *arg, **kw):
 
 cdef class %CLASS%Decode:
   cdef %PREFIX%_ctx ctx
-  def __new__(me, *hunoz, **hukairz):
+  def __cinit__(me, *hunoz, **hukairz):
     _%PREFIX%_init(&me.ctx)
     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:
@@ -119,5 +115,5 @@ def %PREFIX%_decode(text, *arg, **kw):
   d = %CLASS%Decode(*arg, **kw)
   return d.decode(text) + d.done()
 
-#----- That's all, folks ----------------------------------------------------
+###----- That's all, folks --------------------------------------------------