Issue #18609: Add a fast-path for "iso8859-1" encoding

On AIX, the locale encoding may be "iso8859-1", which was not a known syntax of
the legacy ISO 8859-1 encoding.

Using a C codec instead of a Python codec is faster but also avoids tricky
issues during Python startup or complex code.
This commit is contained in:
Victor Stinner 2013-10-29 11:34:05 +01:00
parent bebba5059c
commit fa3ba4c3bc

View file

@ -3021,7 +3021,8 @@ PyUnicode_Decode(const char *s,
return PyUnicode_DecodeUTF8Stateful(s, size, errors, NULL);
else if ((strcmp(lower, "latin-1") == 0) ||
(strcmp(lower, "latin1") == 0) ||
(strcmp(lower, "iso-8859-1") == 0))
(strcmp(lower, "iso-8859-1") == 0) ||
(strcmp(lower, "iso8859-1") == 0))
return PyUnicode_DecodeLatin1(s, size, errors);
#ifdef HAVE_MBCS
else if (strcmp(lower, "mbcs") == 0)
@ -3392,7 +3393,8 @@ PyUnicode_AsEncodedString(PyObject *unicode,
}
else if ((strcmp(lower, "latin-1") == 0) ||
(strcmp(lower, "latin1") == 0) ||
(strcmp(lower, "iso-8859-1") == 0))
(strcmp(lower, "iso-8859-1") == 0) ||
(strcmp(lower, "iso8859-1") == 0))
return _PyUnicode_AsLatin1String(unicode, errors);
#ifdef HAVE_MBCS
else if (strcmp(lower, "mbcs") == 0)