Kaydet (Commit) 0294de02 authored tarafından Georg Brandl's avatar Georg Brandl

#6446: fix import_spam() function to use correct error and reference handling.

üst 3405cbcf
...@@ -1219,16 +1219,23 @@ like this:: ...@@ -1219,16 +1219,23 @@ like this::
static int static int
import_spam(void) import_spam(void)
{ {
PyObject *module = PyImport_ImportModule("spam"); PyObject *c_api_object;
PyObject *module;
if (module != NULL) {
PyObject *c_api_object = PyObject_GetAttrString(module, "_C_API"); module = PyImport_ImportModule("spam");
if (c_api_object == NULL) if (module == NULL)
return -1; return -1;
if (PyCObject_Check(c_api_object))
PySpam_API = (void **)PyCObject_AsVoidPtr(c_api_object); c_api_object = PyObject_GetAttrString(module, "_C_API");
Py_DECREF(c_api_object); if (c_api_object == NULL) {
Py_DECREF(module);
return -1;
} }
if (PyCObject_Check(c_api_object))
PySpam_API = (void **)PyCObject_AsVoidPtr(c_api_object);
Py_DECREF(c_api_object);
Py_DECREF(module);
return 0; return 0;
} }
......
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