summaryrefslogtreecommitdiff
path: root/Python/errors.c
diff options
context:
space:
mode:
authorGiampaolo Rodola <g.rodola@gmail.com>2019-03-06 15:03:57 +0100
committerGiampaolo Rodola <g.rodola@gmail.com>2019-03-06 15:03:57 +0100
commitecac91902b1c6d544c2b69f3613263c6d39177a8 (patch)
tree17b1ca780b66e636bc27e33d4567d1f580a6ca2e /Python/errors.c
parentcaa7605b0166831ce8812dc556d594bd93d37ad4 (diff)
parent25d13f37aa6743282d0b8b4df687ff89999964b2 (diff)
downloadcpython-git-ecac91902b1c6d544c2b69f3613263c6d39177a8.tar.gz
Merge branch 'master' into bind-socket
Diffstat (limited to 'Python/errors.c')
-rw-r--r--Python/errors.c8
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)) {