Commit efecc7d0 authored by Fredrik Lundh's avatar Fredrik Lundh

changed repr and str to always convert unicode strings

to 8-bit strings, using the default encoding.
parent 50694988
......@@ -265,6 +265,14 @@ PyObject_Repr(v)
res = (*v->ob_type->tp_repr)(v);
if (res == NULL)
return NULL;
if (PyUnicode_Check(res)) {
PyObject* str;
str = PyUnicode_AsEncodedString(res, NULL, NULL);
if (str) {
Py_DECREF(res);
res = str;
}
}
if (!PyString_Check(res)) {
PyErr_Format(PyExc_TypeError,
"__repr__ returned non-string (type %.200s)",
......@@ -302,6 +310,14 @@ PyObject_Str(v)
}
if (res == NULL)
return NULL;
if (PyUnicode_Check(res)) {
PyObject* str;
str = PyUnicode_AsEncodedString(res, NULL, NULL);
if (str) {
Py_DECREF(res);
res = str;
}
}
if (!PyString_Check(res)) {
PyErr_Format(PyExc_TypeError,
"__str__ returned non-string (type %.200s)",
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment