summaryrefslogtreecommitdiff
path: root/Objects/stringobject.c
diff options
context:
space:
mode:
authorEzio Melotti <devnull@localhost>2011-04-26 05:12:51 +0300
committerEzio Melotti <devnull@localhost>2011-04-26 05:12:51 +0300
commit0c6c6472c4a3471c2e8071cfe7ae17f384df3917 (patch)
treedcee9ea0307d510b7cbf69a2d5dfdeac50986346 /Objects/stringobject.c
parent765002461568316e8fcc5c428030d407a3c0b9e8 (diff)
downloadcpython-0c6c6472c4a3471c2e8071cfe7ae17f384df3917.tar.gz
#6780: fix starts/endswith error message to mention that tuples are accepted too.
Diffstat (limited to 'Objects/stringobject.c')
-rw-r--r--Objects/stringobject.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 373439bca1..693f7733d9 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -2918,8 +2918,12 @@ string_startswith(PyStringObject *self, PyObject *args)
Py_RETURN_FALSE;
}
result = _string_tailmatch(self, subobj, start, end, -1);
- if (result == -1)
+ if (result == -1) {
+ if (PyErr_ExceptionMatches(PyExc_TypeError))
+ PyErr_Format(PyExc_TypeError, "startswith first arg must be str, "
+ "unicode, or tuple, not %s", Py_TYPE(subobj)->tp_name);
return NULL;
+ }
else
return PyBool_FromLong(result);
}
@@ -2958,8 +2962,12 @@ string_endswith(PyStringObject *self, PyObject *args)
Py_RETURN_FALSE;
}
result = _string_tailmatch(self, subobj, start, end, +1);
- if (result == -1)
+ if (result == -1) {
+ if (PyErr_ExceptionMatches(PyExc_TypeError))
+ PyErr_Format(PyExc_TypeError, "endswith first arg must be str, "
+ "unicode, or tuple, not %s", Py_TYPE(subobj)->tp_name);
return NULL;
+ }
else
return PyBool_FromLong(result);
}