If auto-conversion fails, the Unicode codecs will return NULL.

This is now checked and the error passed on to the caller.
This commit is contained in:
Marc-André Lemburg 2000-07-03 09:57:53 +00:00
parent 52dc76c81f
commit 891bc65486

View file

@ -268,10 +268,11 @@ PyObject_Repr(v)
if (PyUnicode_Check(res)) {
PyObject* str;
str = PyUnicode_AsEncodedString(res, NULL, NULL);
if (str) {
Py_DECREF(res);
Py_DECREF(res);
if (str)
res = str;
}
else
return NULL;
}
if (!PyString_Check(res)) {
PyErr_Format(PyExc_TypeError,
@ -310,14 +311,15 @@ 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 (PyUnicode_Check(res)) {
PyObject* str;
str = PyUnicode_AsEncodedString(res, NULL, NULL);
Py_DECREF(res);
if (str)
res = str;
else
return NULL;
}
if (!PyString_Check(res)) {
PyErr_Format(PyExc_TypeError,
"__str__ returned non-string (type %.200s)",