return _PyStatus_OK();
}
+ // Initialize the global interned dict
+ PyObject *interned = PyDict_New();
+ if (interned == NULL) {
+ PyErr_Clear();
+ return _PyStatus_ERR("failed to create interned dict");
+ }
+
+ set_interned_dict(interned);
+
/* Intern statically allocated string identifiers and deepfreeze strings.
* This must be done before any module initialization so that statically
* allocated string identifiers are used instead of heap allocated strings.
}
PyObject *interned = get_interned_dict();
- if (interned == NULL) {
- interned = PyDict_New();
- if (interned == NULL) {
- PyErr_Clear(); /* Don't leave an exception */
- return;
- }
- set_interned_dict(interned);
- }
+ assert(interned != NULL);
PyObject *t = PyDict_SetDefault(interned, s, s);
if (t == NULL) {