summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSerhiy Storchaka <storchaka@gmail.com>2015-12-18 08:23:29 (GMT)
committerSerhiy Storchaka <storchaka@gmail.com>2015-12-18 08:23:29 (GMT)
commitbe22a911ff15f890702d134c0360419c3167da09 (patch)
tree5f5e28cdad7dc0b18e99e432fe64c5f3438ab045
parentf8ed0044f62b4ce0c21ccb1873f6bf656cd8ac01 (diff)
parent29e2aa696d5db7705c498738a16525cbcd0b0ee3 (diff)
downloadcpython-be22a911ff15f890702d134c0360419c3167da09.zip
cpython-be22a911ff15f890702d134c0360419c3167da09.tar.gz
cpython-be22a911ff15f890702d134c0360419c3167da09.tar.bz2
Test UTF-32LE before UTF-16LE since UTF-16LE BOM is a prefix of UTF-32LE BOM.
-rw-r--r--PC/launcher.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/PC/launcher.c b/PC/launcher.c
index a94241b..f7a0917 100644
--- a/PC/launcher.c
+++ b/PC/launcher.c
@@ -965,10 +965,12 @@ typedef struct {
*/
static BOM BOMs[] = {
{ 3, { 0xEF, 0xBB, 0xBF }, CP_UTF8 }, /* UTF-8 - keep first */
- { 2, { 0xFF, 0xFE }, CP_UTF16LE }, /* UTF-16LE */
- { 2, { 0xFE, 0xFF }, CP_UTF16BE }, /* UTF-16BE */
+ /* Test UTF-32LE before UTF-16LE since UTF-16LE BOM is a prefix
+ * of UTF-32LE BOM. */
{ 4, { 0xFF, 0xFE, 0x00, 0x00 }, CP_UTF32LE }, /* UTF-32LE */
{ 4, { 0x00, 0x00, 0xFE, 0xFF }, CP_UTF32BE }, /* UTF-32BE */
+ { 2, { 0xFF, 0xFE }, CP_UTF16LE }, /* UTF-16LE */
+ { 2, { 0xFE, 0xFF }, CP_UTF16BE }, /* UTF-16BE */
{ 0 } /* sentinel */
};