Skip to content
Snippets Groups Projects
Commit fb1da3b1 authored by Stuart D. Gathman's avatar Stuart D. Gathman
Browse files

Call PyType_Ready

parent 74d33126
Branches
Tags
No related merge requests found
diff --git a/miltermodule.c b/miltermodule.c diff --git a/miltermodule.c b/miltermodule.c
index aa10a08..af9a144 100644 index aa10a08..b085bad 100644
--- a/miltermodule.c --- a/miltermodule.c
+++ b/miltermodule.c +++ b/miltermodule.c
@@ -343,7 +343,7 @@ static struct MilterCallback { @@ -343,7 +343,7 @@ static struct MilterCallback {
...@@ -94,8 +94,9 @@ index aa10a08..af9a144 100644 ...@@ -94,8 +94,9 @@ index aa10a08..af9a144 100644
static PyTypeObject milter_ContextType = { static PyTypeObject milter_ContextType = {
- PyObject_HEAD_INIT(&PyType_Type) - PyObject_HEAD_INIT(&PyType_Type)
- 0, - 0,
- "milterContext",
+ PyVarObject_HEAD_INIT(&PyType_Type,0) + PyVarObject_HEAD_INIT(&PyType_Type,0)
"milterContext", + "milter.Context",
sizeof(milter_ContextObject), sizeof(milter_ContextObject),
0, 0,
milter_Context_dealloc, /* tp_dealloc */ milter_Context_dealloc, /* tp_dealloc */
...@@ -119,7 +120,7 @@ index aa10a08..af9a144 100644 ...@@ -119,7 +120,7 @@ index aa10a08..af9a144 100644
}; };
static const char milter_documentation[] = static const char milter_documentation[] =
@@ -1634,17 +1635,27 @@ Libmilter is currently marked FFR, and needs to be explicitly installed.\n\ @@ -1634,17 +1635,31 @@ Libmilter is currently marked FFR, and needs to be explicitly installed.\n\
See <sendmailsource>/libmilter/README for details on setting it up.\n"; See <sendmailsource>/libmilter/README for details on setting it up.\n";
static void setitem(PyObject *d,const char *name,long val) { static void setitem(PyObject *d,const char *name,long val) {
...@@ -148,11 +149,15 @@ index aa10a08..af9a144 100644 ...@@ -148,11 +149,15 @@ index aa10a08..af9a144 100644
- m = Py_InitModule4("milter", milter_methods, milter_documentation, - m = Py_InitModule4("milter", milter_methods, milter_documentation,
- (PyObject*)NULL, PYTHON_API_VERSION); - (PyObject*)NULL, PYTHON_API_VERSION);
+ if (PyType_Ready(&milter_ContextType) < 0)
+ return NULL;
+
+ m = PyModule_Create(&moduledef); + m = PyModule_Create(&moduledef);
+ if (m == NULL) return NULL;
d = PyModule_GetDict(m); d = PyModule_GetDict(m);
MilterError = PyErr_NewException("milter.error", NULL, NULL); MilterError = PyErr_NewException("milter.error", NULL, NULL);
PyDict_SetItemString(d,"error", MilterError); PyDict_SetItemString(d,"error", MilterError);
@@ -1710,4 +1721,5 @@ initmilter(void) { @@ -1710,4 +1725,5 @@ initmilter(void) {
setitem(d,"DISCARD", SMFIS_DISCARD); setitem(d,"DISCARD", SMFIS_DISCARD);
setitem(d,"ACCEPT", SMFIS_ACCEPT); setitem(d,"ACCEPT", SMFIS_ACCEPT);
setitem(d,"TEMPFAIL", SMFIS_TEMPFAIL); setitem(d,"TEMPFAIL", SMFIS_TEMPFAIL);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment