@@ -15,32 +15,14 @@ enum encoding ParseEncoding(const char* encoding,
1515 switch (encoding[0 ]) {
1616 case ' u' :
1717 case ' U' :
18- // utf8, utf16le
19- if (encoding[1 ] == ' t' && encoding[2 ] == ' f' ) {
20- // Skip `-`
21- const size_t skip = encoding[3 ] == ' -' ? 4 : 3 ;
22- if (encoding[skip] == ' 8' && encoding[skip + 1 ] == ' \0 ' )
23- return UTF8;
24- if (strncmp (encoding + skip, " 16le" , 5 ) == 0 )
25- return UCS2;
26- // ucs2
27- } else if (encoding[1 ] == ' c' && encoding[2 ] == ' s' ) {
28- const size_t skip = encoding[3 ] == ' -' ? 4 : 3 ;
29- if (encoding[skip] == ' 2' && encoding[skip + 1 ] == ' \0 ' )
30- return UCS2;
31- }
32- if (StringEqualNoCase (encoding, " utf8" ))
33- return UTF8;
34- if (StringEqualNoCase (encoding, " utf-8" ))
35- return UTF8;
36- if (StringEqualNoCase (encoding, " ucs2" ))
37- return UCS2;
38- if (StringEqualNoCase (encoding, " ucs-2" ))
39- return UCS2;
40- if (StringEqualNoCase (encoding, " utf16le" ))
41- return UCS2;
42- if (StringEqualNoCase (encoding, " utf-16le" ))
18+ if (StringEqualNoCase (encoding, " ucs2" ) ||
19+ StringEqualNoCase (encoding, " ucs-2" ) ||
20+ StringEqualNoCase (encoding, " utf16le" ) ||
21+ StringEqualNoCase (encoding, " utf-16le" ))
4322 return UCS2;
23+ if (StringEqualNoCase (encoding, " utf8" ) ||
24+ StringEqualNoCase (encoding, " utf-8" ))
25+ return UTF8;
4426 break ;
4527
4628 case ' l' :
0 commit comments