From 00a4a52a8f5ea9427c0e465522633e289de90113 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=2E=20David=20Ib=C3=A1=C3=B1ez?= Date: Sun, 28 Apr 2013 11:25:33 +0200 Subject: [PATCH] Check errors on module initialization --- src/utils.h | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/utils.h b/src/utils.h index 104b0e8..d35f467 100644 --- a/src/utils.h +++ b/src/utils.h @@ -147,12 +147,15 @@ char * py_str_to_c_str(PyObject *value, const char *encoding); if (PyType_Ready(&type) < 0) return NULL; #define ADD_TYPE(module, type) \ - Py_INCREF(& type ## Type); \ - PyModule_AddObject(module, #type, (PyObject *) & type ## Type); + Py_INCREF(& type ## Type);\ + if (PyModule_AddObject(module, #type, (PyObject*) & type ## Type) == -1)\ + return NULL; -#define ADD_CONSTANT_INT(m, name) PyModule_AddIntConstant(m, #name, name); +#define ADD_CONSTANT_INT(m, name) \ + if (PyModule_AddIntConstant(m, #name, name) == -1) return NULL; -#define ADD_CONSTANT_STR(m, name) PyModule_AddStringConstant(m, #name, name); +#define ADD_CONSTANT_STR(m, name) \ + if (PyModule_AddStringConstant(m, #name, name) == -1) return NULL; #endif