summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Python/_warnings.c25
1 files changed, 16 insertions, 9 deletions
diff --git a/Python/_warnings.c b/Python/_warnings.c
index adebd51..f33e477 100644
--- a/Python/_warnings.c
+++ b/Python/_warnings.c
@@ -958,23 +958,30 @@ _PyWarnings_Init(void)
if (m == NULL)
return NULL;
- _filters = init_filters();
- if (_filters == NULL)
- return NULL;
+ if (_filters == NULL) {
+ _filters = init_filters();
+ if (_filters == NULL)
+ return NULL;
+ }
Py_INCREF(_filters);
if (PyModule_AddObject(m, "filters", _filters) < 0)
return NULL;
- _once_registry = PyDict_New();
- if (_once_registry == NULL)
- return NULL;
+ if (_once_registry == NULL) {
+ _once_registry = PyDict_New();
+ if (_once_registry == NULL)
+ return NULL;
+ }
Py_INCREF(_once_registry);
if (PyModule_AddObject(m, "_onceregistry", _once_registry) < 0)
return NULL;
- _default_action = PyUnicode_FromString("default");
- if (_default_action == NULL)
- return NULL;
+ if (_default_action == NULL) {
+ _default_action = PyUnicode_FromString("default");
+ if (_default_action == NULL)
+ return NULL;
+ }
+ Py_INCREF(_default_action);
if (PyModule_AddObject(m, "_defaultaction", _default_action) < 0)
return NULL;
return m;