Commit ac931b1e authored by Victor Stinner's avatar Victor Stinner

Use PyUnicode_EncodeCodePage() instead of PyUnicode_EncodeMBCS() with

PyUnicode_AsUnicodeAndSize()
parent 22168998
...@@ -3051,13 +3051,7 @@ PyObject * ...@@ -3051,13 +3051,7 @@ PyObject *
PyUnicode_EncodeFSDefault(PyObject *unicode) PyUnicode_EncodeFSDefault(PyObject *unicode)
{ {
#ifdef HAVE_MBCS #ifdef HAVE_MBCS
const Py_UNICODE *wstr; return PyUnicode_EncodeCodePage(CP_ACP, unicode, NULL);
Py_ssize_t wlen;
wstr = PyUnicode_AsUnicodeAndSize(unicode, &wlen);
if (wstr == NULL)
return NULL;
return PyUnicode_EncodeMBCS(wstr, wlen, NULL);
#elif defined(__APPLE__) #elif defined(__APPLE__)
return _PyUnicode_AsUTF8String(unicode, "surrogateescape"); return _PyUnicode_AsUTF8String(unicode, "surrogateescape");
#else #else
...@@ -3141,15 +3135,8 @@ PyUnicode_AsEncodedString(PyObject *unicode, ...@@ -3141,15 +3135,8 @@ PyUnicode_AsEncodedString(PyObject *unicode,
(strcmp(lower, "iso-8859-1") == 0)) (strcmp(lower, "iso-8859-1") == 0))
return _PyUnicode_AsLatin1String(unicode, errors); return _PyUnicode_AsLatin1String(unicode, errors);
#ifdef HAVE_MBCS #ifdef HAVE_MBCS
else if (strcmp(lower, "mbcs") == 0) { else if (strcmp(lower, "mbcs") == 0)
const Py_UNICODE *wstr; return PyUnicode_EncodeCodePage(CP_ACP, unicode, errors);
Py_ssize_t wlen;
wstr = PyUnicode_AsUnicodeAndSize(unicode, &wlen);
if (wstr == NULL)
return NULL;
return PyUnicode_EncodeMBCS(wstr, wlen, errors);
}
#endif #endif
else if (strcmp(lower, "ascii") == 0) else if (strcmp(lower, "ascii") == 0)
return _PyUnicode_AsASCIIString(unicode, errors); return _PyUnicode_AsASCIIString(unicode, errors);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment