summaryrefslogtreecommitdiffstats
path: root/Python/codecs.c
diff options
context:
space:
mode:
authorWalter Dörwald <walter@livinglogic.de>2007-05-25 15:46:59 (GMT)
committerWalter Dörwald <walter@livinglogic.de>2007-05-25 15:46:59 (GMT)
commit573c08c1b73048876b62d99ff8d82337dc8ce0a2 (patch)
treea66a43f5e3f362acb738877ab1551d69dc5e5450 /Python/codecs.c
parente65c86cca02a6cc5698ecf846d6340319e5fd803 (diff)
downloadcpython-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.c19
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);
+ }
}
}