X-Git-Url: https://git.distorted.org.uk/~mdw/pyke/blobdiff_plain/0b1eafbfd841149f61b47be54713a642f8538a6a..dfe0a89785e70fdb3c75196b54ae05f006a35ca3:/util.c diff --git a/util.c b/util.c index 89130cb..717c3d9 100644 --- a/util.c +++ b/util.c @@ -1,7 +1,5 @@ /* -*-c-*- * - * $Id$ - * * Miscellaneous utilities (not Catacomb-specific) * * (c) 2005 Straylight/Edgeware @@ -165,16 +163,19 @@ void *newtype(PyTypeObject *metaty, ty->ht_name = PyString_FromString(ty->ht_type.tp_name); if (ty->ht_name) ty->ht_type.tp_name = PyString_AS_STRING(ty->ht_name); - PyObject_INIT(&ty->ht_type, metaty); + DISCARD(PyObject_INIT(&ty->ht_type, metaty)); Py_INCREF(metaty); return (ty); } PyTypeObject *inittype(PyTypeObject *tyskel) { + static PyObject *modname = 0; PyTypeObject *ty = newtype(&PyType_Type, tyskel, 0); + if (!modname) modname = PyString_FromString("catacomb"); ty->tp_flags |= Py_TPFLAGS_HEAPTYPE; PyType_Ready(ty); + PyDict_SetItemString(ty->tp_dict, "__module__", modname); return (ty); } @@ -634,13 +635,13 @@ PyMethodDef gmap_pymethods[] = { /*----- Initialization ----------------------------------------------------*/ -void util_init(void) +void util_pyinit(void) { INITTYPE(itemiter, root); INITTYPE(valiter, root); } -void util_insert(PyObject *mod) +void util_pyinsert(PyObject *mod) { INSERT("ItemIter", itemiter_pytype); INSERT("ValueIter", valiter_pytype);