X-Git-Url: https://git.distorted.org.uk/~mdw/mLib-python/blobdiff_plain/f3946a80c491dd87854ea48d7be05fb0a35d8459..78911cdb6782ddccef6de3cc913b714e10d2fc14:/codec.pyx.in diff --git a/codec.pyx.in b/codec.pyx.in index ad60269..a1199c6 100644 --- a/codec.pyx.in +++ b/codec.pyx.in @@ -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): @@ -49,7 +45,7 @@ cdef class %CLASS%Encode: me.ctx.maxline = maxline def __dealloc__(me): if me.ctx.indent: - xfree(me.ctx.indent) + xfree(me.ctx.indent) property indent: def __get__(me): return me.ctx.indent @@ -64,7 +60,7 @@ 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: @@ -90,12 +86,12 @@ 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: @@ -113,11 +109,11 @@ cdef class %CLASS%Decode: rc = PyString_FromStringAndSize(d.buf, d.len) finally: dstr_destroy(&d) - return rc + return rc 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 --------------------------------------------------