Commit 234d80e8 authored by Manuel Günther's avatar Manuel Günther

Corrected error cases in module creation

parent 7286633a
...@@ -48,11 +48,13 @@ static PyObject* create_module (void) { ...@@ -48,11 +48,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 */
Py_INCREF(&PyBobApFrameExtractor_Type); Py_INCREF(&PyBobApFrameExtractor_Type);
...@@ -72,7 +74,7 @@ static PyObject* create_module (void) { ...@@ -72,7 +74,7 @@ static PyObject* create_module (void) {
if (import_bob_core_logging() < 0) return 0; if (import_bob_core_logging() < 0) return 0;
if (import_bob_sp() < 0) return 0; if (import_bob_sp() < 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) {
......
...@@ -56,11 +56,13 @@ static PyObject* create_module (void) { ...@@ -56,11 +56,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;
...@@ -70,7 +72,7 @@ static PyObject* create_module (void) { ...@@ -70,7 +72,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) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment