X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/mLib-python/blobdiff_plain/5b1830f325c55c70d65fd020f08dd958493e528d..e697f90228e90f5fe5f62b05124d7d43f5fd65dc:/sym.pyx diff --git a/sym.pyx b/sym.pyx index e8842e6..f456db8 100644 --- a/sym.pyx +++ b/sym.pyx @@ -28,15 +28,20 @@ cdef struct _sym_entry: PyObject *v cdef class SymTable (Mapping): + """ + SymTable([DICT], **KW) + + A mapping keyed by strings. + """ cdef sym_table _t cdef int _init(me) except -1: sym_create(&me._t) return 0 cdef void *_find(me, object key, unsigned *f) except NULL: cdef void *p - cdef int n + cdef Py_ssize_t n cdef _sym_entry *e - PyObject_AsReadBuffer(key, &p, &n) + PyObject_AsReadBuffer(key, &p, &n) if f: f[0] = 0 e = <_sym_entry *>sym_find(&me._t, p, n, PSIZEOF(e), f) @@ -71,7 +76,7 @@ cdef class SymTable (Mapping): cdef class _SymIter (_MapIterator): cdef SymTable t cdef sym_iter i - def __cinit__(me, SymTable t): + def __cinit__(me, SymTable t not None): me.t = t sym_mkiter(&me.i, &me.t._t) cdef void *_next(me):