@@ -15,32 +15,14 @@ enum encoding ParseEncoding(const char* encoding,
15
15
switch (encoding[0 ]) {
16
16
case ' u' :
17
17
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" ))
43
22
return UCS2;
23
+ if (StringEqualNoCase (encoding, " utf8" ) ||
24
+ StringEqualNoCase (encoding, " utf-8" ))
25
+ return UTF8;
44
26
break ;
45
27
46
28
case ' l' :
0 commit comments