X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/catacomb-python/blobdiff_plain/e56eb7d60c3d0929e952cad2d9ea2c711bd52593..eb0f76ed2e02a0cfef9b837b96dfbbeb1193f4b8:/util.c diff --git a/util.c b/util.c index c1d0ad8..717c3d9 100644 --- a/util.c +++ b/util.c @@ -1,6 +1,4 @@ /* -*-c-*- - * - * $Id$ * * Miscellaneous utilities (not Catacomb-specific) * @@ -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); }