summaryrefslogtreecommitdiff
path: root/Objects/enumobject.c
diff options
context:
space:
mode:
authordoko <doko@ubuntu.com>2017-01-31 13:35:26 +0100
committerdoko <doko@ubuntu.com>2017-01-31 13:35:26 +0100
commite0cb38ac4330d5e09b5e21c74c5d5e453af99a4f (patch)
treea64fe56edb37bb84d4ffea1990c0ac124a6dba9d /Objects/enumobject.c
parentd7764ed2a9255ddb5bdb7d3f184610cdc7a66aad (diff)
parent602663ac0effc2e8e3b615141babd95ed7691dda (diff)
downloadcpython-e0cb38ac4330d5e09b5e21c74c5d5e453af99a4f.tar.gz
merge 3.5
Diffstat (limited to 'Objects/enumobject.c')
-rw-r--r--Objects/enumobject.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/Objects/enumobject.c b/Objects/enumobject.c
index c458cfe73d..dae166d5ad 100644
--- a/Objects/enumobject.c
+++ b/Objects/enumobject.c
@@ -250,6 +250,13 @@ reversed_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return NULL;
reversed_meth = _PyObject_LookupSpecial(seq, &PyId___reversed__);
+ if (reversed_meth == Py_None) {
+ Py_DECREF(reversed_meth);
+ PyErr_Format(PyExc_TypeError,
+ "'%.200s' object is not reversible",
+ Py_TYPE(seq)->tp_name);
+ return NULL;
+ }
if (reversed_meth != NULL) {
PyObject *res = PyObject_CallFunctionObjArgs(reversed_meth, NULL);
Py_DECREF(reversed_meth);
@@ -259,8 +266,9 @@ reversed_new(PyTypeObject *type, PyObject *args, PyObject *kwds)
return NULL;
if (!PySequence_Check(seq)) {
- PyErr_SetString(PyExc_TypeError,
- "argument to reversed() must be a sequence");
+ PyErr_Format(PyExc_TypeError,
+ "'%.200s' object is not reversible",
+ Py_TYPE(seq)->tp_name);
return NULL;
}