X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib-python/blobdiff_plain/d8d81d1b049836f7d4fae7b0077a8ce9e2fc43ac..bc57ab58b54f99bc1d7a966f853c980c1f31eb3f:/unihash.pyx diff --git a/unihash.pyx b/unihash.pyx index 565959f..de6f3d4 100644 --- a/unihash.pyx +++ b/unihash.pyx @@ -1,29 +1,27 @@ -# -*-pyrex-*- -# -# $Id$ -# -# Universal hashing interface -# -# (c) 2005 Straylight/Edgeware -# +### -*-pyrex-*- +### +### Universal hashing interface +### +### (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. +###----- 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. def setglobalkey(uint32 k): unihash_setkey(&unihash_global, k) @@ -31,7 +29,7 @@ def setglobalkey(uint32 k): cdef class Key: cdef unihash_info _i cdef uint32 _k - def __new__(me, uint32 k): + def __cinit__(me, uint32 k): unihash_setkey(&me._i, k) me._k = k property k: @@ -42,7 +40,7 @@ cdef class Unihash: cdef uint32 _a cdef readonly Key key cdef unihash_info *_i - def __new__(me, key = None): + def __cinit__(me, key = None): cdef Key k me.key = key if key is None: @@ -53,10 +51,10 @@ cdef class Unihash: me._a = UNIHASH_INIT(me._i) def chunk(me, data): cdef void *p - cdef int n - PyObject_AsReadBuffer(data, &p, &n) + cdef Py_ssize_t n + PyObject_AsReadBuffer(data, &p, &n) me._a = unihash_hash(me._i, me._a, p, n) def done(me): return _u32(me._a) -#----- That's all, folks ---------------------------------------------------- +###----- That's all, folks --------------------------------------------------