Fix UTF-7 encoder on Windows

This commit is contained in:
Victor Stinner 2011-11-10 20:12:49 +01:00
parent 87a7c825f0
commit 0e36826a04
1 changed files with 4 additions and 6 deletions

View File

@ -4061,7 +4061,7 @@ _PyUnicode_EncodeUTF7(PyObject *str,
start = out = PyBytes_AS_STRING(v);
for (i = 0; i < len; ++i) {
Py_UNICODE ch = PyUnicode_READ(kind, data, i);
Py_UCS4 ch = PyUnicode_READ(kind, data, i);
if (inShift) {
if (ENCODE_DIRECT(ch, !base64SetO, !base64WhiteSpace)) {
@ -4099,7 +4099,6 @@ _PyUnicode_EncodeUTF7(PyObject *str,
}
continue;
encode_char:
#ifdef Py_UNICODE_WIDE
if (ch >= 0x10000) {
/* code first surrogate */
base64bits += 16;
@ -4111,7 +4110,6 @@ encode_char:
/* prepare second surrogate */
ch = 0xDC00 | ((ch-0x10000) & 0x3FF);
}
#endif
base64bits += 16;
base64buffer = (base64buffer << 16) | ch;
while (base64bits >= 6) {