experimental UCS-4 support: don't assume that MS_WIN32 implies
HAVE_USABLE_WCHAR_T
diff --git a/Modules/_codecsmodule.c b/Modules/_codecsmodule.c
index ea530ee..61f25d1 100644
--- a/Modules/_codecsmodule.c
+++ b/Modules/_codecsmodule.c
@@ -299,7 +299,7 @@
size);
}
-#ifdef MS_WIN32
+#if defined(MS_WIN32) && defined(HAVE_USABLE_WCHAR_T)
static PyObject *
mbcs_decode(PyObject *self,
@@ -595,7 +595,7 @@
return v;
}
-#ifdef MS_WIN32
+#if defined(MS_WIN32) && defined(HAVE_USABLE_WCHAR_T)
static PyObject *
mbcs_encode(PyObject *self,
@@ -650,7 +650,7 @@
{"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 4bb8fb2..ba606f5 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -1379,7 +1379,7 @@
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 @@
NULL);
}
-#ifdef MS_WIN32
+#if defined(MS_WIN32) && defined(HAVE_USABLE_WCHAR_T)
/* --- MBCS codecs for Windows -------------------------------------------- */