From 7cc4ff05ad7e4a324be5a9fd948ae5230f832934 Mon Sep 17 00:00:00 2001 From: Philipp Serr Date: Sat, 21 Jan 2017 15:47:54 +0100 Subject: [PATCH] Initialize per-query qdata and per-module mod_env The python module used to assign None to the per-query (qdata argument) and per-module (mod_env variable) data stores. Hence, there was no obvious way for python code to use these data stores. This commit initializes both data stores with a dict instance. --- pythonmod/pythonmod.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/pythonmod/pythonmod.c b/pythonmod/pythonmod.c index a668ecc23..02908af56 100644 --- a/pythonmod/pythonmod.c +++ b/pythonmod/pythonmod.c @@ -317,8 +317,7 @@ int pythonmod_init(struct module_env* env, int id) /* Load file */ pe->module = PyImport_AddModule("__main__"); pe->dict = PyModule_GetDict(pe->module); - pe->data = Py_None; - Py_INCREF(pe->data); + pe->data = PyDict_New(); PyModule_AddObject(pe->module, "mod_env", pe->data); /* TODO: deallocation of pe->... if an error occurs */ @@ -485,8 +484,7 @@ void pythonmod_operate(struct module_qstate* qstate, enum module_ev event, pq = qstate->minfo[id] = malloc(sizeof(struct pythonmod_qstate)); /* Initialize per query data */ - pq->data = Py_None; - Py_INCREF(pq->data); + pq->data = PyDict_New(); } /* Call operate */ -- 2.47.2