diff --git a/bob/math/main.cpp b/bob/math/main.cpp index 44452cb38404280de57ba0279440e8dd4ade3e13..762d283c2a8316d24334b6cdceb00a8953211a56 100644 --- a/bob/math/main.cpp +++ b/bob/math/main.cpp @@ -116,11 +116,13 @@ static PyObject* create_module (void) { # if PY_VERSION_HEX >= 0x03000000 PyObject* m = PyModule_Create(&module_definition); + auto m_ = make_xsafe(m); + const char* ret = "O"; # else PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr); + const char* ret = "N"; # endif if (!m) return 0; - auto m_ = make_safe(m); ///< protects against early returns /* register the types to python */ if (!init_BobMathLpInteriorPoint(m)) return 0; @@ -129,7 +131,7 @@ static PyObject* create_module (void) { if (import_bob_blitz() < 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) { diff --git a/bob/math/version.cpp b/bob/math/version.cpp index 537bae6420d6ac38b9c52486c2cc2a6625638b1d..0e9cf8af57b42d2cc8bdd57fa0f785189ad5737f 100644 --- a/bob/math/version.cpp +++ b/bob/math/version.cpp @@ -51,11 +51,13 @@ static PyObject* create_module (void) { # if PY_VERSION_HEX >= 0x03000000 PyObject* m = PyModule_Create(&module_definition); + auto m_ = make_xsafe(m); + const char* ret = "O"; # else PyObject* m = Py_InitModule3(BOB_EXT_MODULE_NAME, module_methods, module_docstr); + const char* ret = "N"; # endif if (!m) return 0; - auto m_ = make_safe(m); ///< protects against early returns /* register version numbers and constants */ if (PyModule_AddStringConstant(m, "module", BOB_EXT_MODULE_VERSION) < 0) return 0; @@ -65,7 +67,7 @@ static PyObject* create_module (void) { if (!externals) 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) {