PyCodec_ReplaceErrors() uses "C" format instead of "u#" to build result
diff --git a/Python/codecs.c b/Python/codecs.c
index 4c2fc5d..0008bdc 100644
--- a/Python/codecs.c
+++ b/Python/codecs.c
@@ -534,10 +534,11 @@
         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;