diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c index ea530ee46fd..61f25d14052 100644 --- a/Modules/_codecsmodule.c +++ b/Modules/_codecsmodule.c @@ -299,7 +299,7 @@ charmap_decode(PyObject *self, size); } -#ifdef MS_WIN32 +#if defined(MS_WIN32) && defined(HAVE_USABLE_WCHAR_T) static PyObject * mbcs_decode(PyObject *self, @@ -595,7 +595,7 @@ charmap_encode(PyObject *self, return v; } -#ifdef MS_WIN32 +#if defined(MS_WIN32) && defined(HAVE_USABLE_WCHAR_T) static PyObject * mbcs_encode(PyObject *self, @@ -650,7 +650,7 @@ static PyMethodDef _codecs_functions[] = { {"charmap_decode", charmap_decode, 1}, {"readbuffer_encode", readbuffer_encode, 1}, {"charbuffer_encode", charbuffer_encode, 1}, -#ifdef MS_WIN32 +#if defined(MS_WIN32) && defined(HAVE_USABLE_WCHAR_T) {"mbcs_encode", mbcs_encode, 1}, {"mbcs_decode", mbcs_decode, 1}, #endif diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c index 4bb8fb2d9f9..ba606f58773 100644 --- a/Objects/unicodeobject.c +++ b/Objects/unicodeobject.c @@ -1379,7 +1379,7 @@ PyObject *unicodeescape_string(const Py_UNICODE *s, while (size-- > 0) { Py_UNICODE ch = *s++; /* Escape quotes */ - if (quotes && (ch == q[1] || ch == '\\')) { + if (quotes && (ch == (Py_UNICODE) q[1] || ch == '\\')) { *p++ = '\\'; *p++ = (char) ch; } @@ -1831,7 +1831,7 @@ PyObject *PyUnicode_AsASCIIString(PyObject *unicode) NULL); } -#ifdef MS_WIN32 +#if defined(MS_WIN32) && defined(HAVE_USABLE_WCHAR_T) /* --- MBCS codecs for Windows -------------------------------------------- */