chiark
/
gitweb
/
~mdw
/
pyke
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix the missing-module-names bug properly.
[pyke]
/
util.c
diff --git
a/util.c
b/util.c
index 717c3d97258413f99a04e7f81e9bfbd03d6e958a..8a0c06c0e75c58955c40a8f783f8abb8fa75686c 100644
(file)
--- a/
util.c
+++ b/
util.c
@@
-28,6
+28,10
@@
#include "catacomb-python.h"
#include "catacomb-python.h"
+/*----- External values ---------------------------------------------------*/
+
+static PyObject *modname = 0;
+
/*----- Conversions -------------------------------------------------------*/
PyObject *getulong(unsigned long w)
/*----- Conversions -------------------------------------------------------*/
PyObject *getulong(unsigned long w)
@@
-168,14
+172,17
@@
void *newtype(PyTypeObject *metaty,
return (ty);
}
return (ty);
}
+void typeready(PyTypeObject *ty)
+{
+ PyType_Ready(ty);
+ PyDict_SetItemString(ty->tp_dict, "__module__", modname);
+}
+
PyTypeObject *inittype(PyTypeObject *tyskel)
{
PyTypeObject *inittype(PyTypeObject *tyskel)
{
- static PyObject *modname = 0;
PyTypeObject *ty = newtype(&PyType_Type, tyskel, 0);
PyTypeObject *ty = newtype(&PyType_Type, tyskel, 0);
- if (!modname) modname = PyString_FromString("catacomb");
ty->tp_flags |= Py_TPFLAGS_HEAPTYPE;
ty->tp_flags |= Py_TPFLAGS_HEAPTYPE;
- PyType_Ready(ty);
- PyDict_SetItemString(ty->tp_dict, "__module__", modname);
+ typeready(ty);
return (ty);
}
return (ty);
}
@@
-637,6
+644,7
@@
PyMethodDef gmap_pymethods[] = {
void util_pyinit(void)
{
void util_pyinit(void)
{
+ modname = PyString_FromString("catacomb");
INITTYPE(itemiter, root);
INITTYPE(valiter, root);
}
INITTYPE(itemiter, root);
INITTYPE(valiter, root);
}