Also fixed an error message -- %s argument has non-string str()
doesn't make sense for %r, so the error message now differentiates
between %s and %r.
because PyObject_Repr() and PyObject_Str() ensure that this can never
happen. Added a helpful comment instead.
if (temp == NULL)
goto error;
if (!PyString_Check(temp)) {
+ /* XXX Note: this should never happen,
+ since PyObject_Repr() and
+ PyObject_Str() assure this */
PyErr_SetString(PyExc_TypeError,
- c == 's' ?
- "%s argument has non-string str()" :
- "%r argument has non-string repr()");
+ "%s argument has non-string str()");
Py_DECREF(temp);
goto error;
}