changed repr and str to always convert unicode strings

to 8-bit strings, using the default encoding.
This commit is contained in:
Fredrik Lundh 2000-07-01 14:31:09 +00:00
parent 5069498884
commit efecc7d05b
1 changed files with 16 additions and 0 deletions

View File

@ -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)",