diff options
author | Walter Dörwald <walter@livinglogic.de> | 2007-05-25 15:46:59 (GMT) |
---|---|---|
committer | Walter Dörwald <walter@livinglogic.de> | 2007-05-25 15:46:59 (GMT) |
commit | 573c08c1b73048876b62d99ff8d82337dc8ce0a2 (patch) | |
tree | a66a43f5e3f362acb738877ab1551d69dc5e5450 /Python/codecs.c | |
parent | e65c86cca02a6cc5698ecf846d6340319e5fd803 (diff) | |
download | cpython-573c08c1b73048876b62d99ff8d82337dc8ce0a2.zip cpython-573c08c1b73048876b62d99ff8d82337dc8ce0a2.tar.gz cpython-573c08c1b73048876b62d99ff8d82337dc8ce0a2.tar.bz2 |
Change PyErr_Format() to generate a unicode string (by using
PyUnicode_FromFormatV() instead of PyString_FromFormatV()).
Change calls to PyErr_Format() to benefit from the new format
specifiers: Using %S, object instead of %s, PyString_AS_STRING(object)
with will work with unicode objects too.
Diffstat (limited to 'Python/codecs.c')
-rw-r--r-- | Python/codecs.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/Python/codecs.c b/Python/codecs.c index ddd19359..3aa1f38 100644 --- a/Python/codecs.c +++ b/Python/codecs.c @@ -443,18 +443,13 @@ static void wrong_exception_type(PyObject *exc) { PyObject *type = PyObject_GetAttrString(exc, "__class__"); if (type != NULL) { - PyObject *name = PyObject_GetAttrString(type, "__name__"); - Py_DECREF(type); - if (name != NULL) { - PyObject *string = PyObject_Str(name); - Py_DECREF(name); - if (string != NULL) { - PyErr_Format(PyExc_TypeError, - "don't know how to handle %.400s in error callback", - PyString_AS_STRING(string)); - Py_DECREF(string); - } - } + PyObject *name = PyObject_GetAttrString(type, "__name__"); + Py_DECREF(type); + if (name != NULL) { + PyErr_Format(PyExc_TypeError, + "don't know how to handle %S in error callback", name); + Py_DECREF(name); + } } } |