PyCodec_ReplaceErrors() uses "C" format instead of "u#" to build result

This commit is contained in:
Victor Stinner 2011-10-02 19:00:15 +02:00
parent 0069be19e5
commit 1a15aba71d
1 changed files with 3 additions and 2 deletions

View File

@ -534,10 +534,11 @@ PyObject *PyCodec_ReplaceErrors(PyObject *exc)
return Py_BuildValue("(Nn)", res, end);
}
else if (PyObject_IsInstance(exc, PyExc_UnicodeDecodeError)) {
Py_UNICODE res = Py_UNICODE_REPLACEMENT_CHARACTER;
if (PyUnicodeDecodeError_GetEnd(exc, &end))
return NULL;
return Py_BuildValue("(u#n)", &res, 1, end);
return Py_BuildValue("(Cn)",
(int)Py_UNICODE_REPLACEMENT_CHARACTER,
end);
}
else if (PyObject_IsInstance(exc, PyExc_UnicodeTranslateError)) {
PyObject *res;