diff options
author | Giampaolo Rodola <g.rodola@gmail.com> | 2019-03-06 15:03:57 +0100 |
---|---|---|
committer | Giampaolo Rodola <g.rodola@gmail.com> | 2019-03-06 15:03:57 +0100 |
commit | ecac91902b1c6d544c2b69f3613263c6d39177a8 (patch) | |
tree | 17b1ca780b66e636bc27e33d4567d1f580a6ca2e /Python/errors.c | |
parent | caa7605b0166831ce8812dc556d594bd93d37ad4 (diff) | |
parent | 25d13f37aa6743282d0b8b4df687ff89999964b2 (diff) | |
download | cpython-git-ecac91902b1c6d544c2b69f3613263c6d39177a8.tar.gz |
Merge branch 'master' into bind-socket
Diffstat (limited to 'Python/errors.c')
-rw-r--r-- | Python/errors.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/Python/errors.c b/Python/errors.c index febe971607..b8af1df416 100644 --- a/Python/errors.c +++ b/Python/errors.c @@ -858,6 +858,7 @@ PyErr_Format(PyObject *exception, const char *format, ...) PyObject * PyErr_NewException(const char *name, PyObject *base, PyObject *dict) { + _Py_IDENTIFIER(__module__); const char *dot; PyObject *modulename = NULL; PyObject *classname = NULL; @@ -877,12 +878,15 @@ PyErr_NewException(const char *name, PyObject *base, PyObject *dict) if (dict == NULL) goto failure; } - if (PyDict_GetItemString(dict, "__module__") == NULL) { + if (_PyDict_GetItemIdWithError(dict, &PyId___module__) == NULL) { + if (PyErr_Occurred()) { + goto failure; + } modulename = PyUnicode_FromStringAndSize(name, (Py_ssize_t)(dot-name)); if (modulename == NULL) goto failure; - if (PyDict_SetItemString(dict, "__module__", modulename) != 0) + if (_PyDict_SetItemId(dict, &PyId___module__, modulename) != 0) goto failure; } if (PyTuple_Check(base)) { |