cdef class CRC32:
"""CRC32(): calculate CRC32 of a stream"""
cdef uint32 _a
- def __cinit__(me, *hunoz, **hukairz):
+ def __cinit__(me):
me._a = 0
def __init__(me):
pass
- def chunk(me, data):
+ def chunk(me, object data):
"""C.chunk(STR): process another chunk of input"""
- cdef void *p
+ cdef const void *p
cdef Py_ssize_t n
- PyObject_AsReadBuffer(data, <cvp *>&p, &n)
- me._a = c_crc32(me._a, p, n)
+ PyObject_AsReadBuffer(data, &p, &n)
+ me._a = _crc32(me._a, p, n)
return me
def done(me):
"""C.done() -> INT: return CRC of data"""
- return _u32(me._a)
+ return me._a
-def crc32(data):
+def crc32(object data):
"""crc32(STR) -> INT"""
- cdef void *p
+ cdef const void *p
cdef Py_ssize_t n
cdef uint32 c
- PyObject_AsReadBuffer(data, <cvp *>&p, &n)
- c = c_crc32(0, p, n)
- return _u32(c)
+ PyObject_AsReadBuffer(data, &p, &n)
+ return _crc32(0, p, n)
###----- That's all, folks --------------------------------------------------