i = 0;
while (PyDict_Next(modules, &i, &module_name, &module)) {
if (_checkmodule(module_name, module, global, dotted_path) == 0) {
+ Py_DECREF(modules);
return Py_NewRef(module_name);
}
if (PyErr_Occurred()) {
+ Py_DECREF(modules);
return NULL;
}
}
else {
PyObject *iterator = PyObject_GetIter(modules);
if (iterator == NULL) {
+ Py_DECREF(modules);
return NULL;
}
while ((module_name = PyIter_Next(iterator))) {
if (module == NULL) {
Py_DECREF(module_name);
Py_DECREF(iterator);
+ Py_DECREF(modules);
return NULL;
}
if (_checkmodule(module_name, module, global, dotted_path) == 0) {
Py_DECREF(module);
Py_DECREF(iterator);
+ Py_DECREF(modules);
return module_name;
}
Py_DECREF(module);
Py_DECREF(module_name);
if (PyErr_Occurred()) {
Py_DECREF(iterator);
+ Py_DECREF(modules);
return NULL;
}
}
Py_DECREF(iterator);
}
+ Py_DECREF(modules);
/* If no module is found, use __main__. */
return &_Py_ID(__main__);