Skip to content
Snippets Groups Projects
Commit 5112961e authored by Manuel Günther's avatar Manuel Günther
Browse files

Corrected error cases in module creation

parent 4156a214
No related branches found
No related tags found
No related merge requests found
...@@ -116,11 +116,13 @@ static PyObject* create_module (void) { ...@@ -116,11 +116,13 @@ static PyObject* create_module (void) {
# if PY_VERSION_HEX >= 0x03000000 # if PY_VERSION_HEX >= 0x03000000
PyObject* m = PyModule_Create(&module_definition); PyObject* m = PyModule_Create(&module_definition);
auto m_ = make_xsafe(m);
const char* ret = "O";
# else # else
PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr); PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr);
const char* ret = "N";
# endif # endif
if (!m) return 0; if (!m) return 0;
auto m_ = make_safe(m); ///< protects against early returns
/* register the types to python */ /* register the types to python */
if (!init_BobMathLpInteriorPoint(m)) return 0; if (!init_BobMathLpInteriorPoint(m)) return 0;
...@@ -129,7 +131,7 @@ static PyObject* create_module (void) { ...@@ -129,7 +131,7 @@ static PyObject* create_module (void) {
if (import_bob_blitz() < 0) return 0; if (import_bob_blitz() < 0) return 0;
if (import_bob_core_logging() < 0) return 0; if (import_bob_core_logging() < 0) return 0;
return Py_BuildValue("O", m); return Py_BuildValue(ret, m);
} }
PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) { PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) {
......
...@@ -51,11 +51,13 @@ static PyObject* create_module (void) { ...@@ -51,11 +51,13 @@ static PyObject* create_module (void) {
# if PY_VERSION_HEX >= 0x03000000 # if PY_VERSION_HEX >= 0x03000000
PyObject* m = PyModule_Create(&module_definition); PyObject* m = PyModule_Create(&module_definition);
auto m_ = make_xsafe(m);
const char* ret = "O";
# else # else
PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr); PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr);
const char* ret = "N";
# endif # endif
if (!m) return 0; if (!m) return 0;
auto m_ = make_safe(m); ///< protects against early returns
/* register version numbers and constants */ /* register version numbers and constants */
if (PyModule_AddStringConstant(m, "module", BOB_EXT_MODULE_VERSION) < 0) return 0; if (PyModule_AddStringConstant(m, "module", BOB_EXT_MODULE_VERSION) < 0) return 0;
...@@ -65,7 +67,7 @@ static PyObject* create_module (void) { ...@@ -65,7 +67,7 @@ static PyObject* create_module (void) {
if (!externals) return 0; if (!externals) return 0;
if (PyModule_AddObject(m, "externals", externals) < 0) return 0; if (PyModule_AddObject(m, "externals", externals) < 0) return 0;
return Py_BuildValue("O", m); return Py_BuildValue(ret, m);
} }
PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) { PyMODINIT_FUNC BOB_EXT_ENTRY_NAME (void) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment