Commit cc13543e authored by Kenichi Handa's avatar Kenichi Handa
Browse files

(detect_coding_utf_16): Fix previous change.

parent 9c6d2887
2009-06-16 Kenichi Handa <handa@m17n.org>
* coding.c (detect_coding_utf_16): Fix the logic of rejecting
UTF-16 by checking the dispersion of Eth and Oth bytes.
2009-06-15 Andreas Schwab <schwab@linux-m68k.org> 2009-06-15 Andreas Schwab <schwab@linux-m68k.org>
   
* coding.c (detect_coding_utf_16): Fix typo counting odd bytes. * coding.c (detect_coding_utf_16): Fix typo counting odd bytes.
......
...@@ -1665,10 +1665,11 @@ detect_coding_utf_16 (coding, detect_info) ...@@ -1665,10 +1665,11 @@ detect_coding_utf_16 (coding, detect_info)
e[c1] = 1; e[c1] = 1;
o[c2] = 1; o[c2] = 1;
detect_info->rejected detect_info->rejected |= (CATEGORY_MASK_UTF_16_AUTO
|= (CATEGORY_MASK_UTF_16_BE | CATEGORY_MASK_UTF_16_LE); |CATEGORY_MASK_UTF_16_BE
| CATEGORY_MASK_UTF_16_LE);
while (1) while (detect_info->rejected != CATEGORY_MASK_UTF_16)
{ {
TWO_MORE_BYTES (c1, c2); TWO_MORE_BYTES (c1, c2);
if (c2 < 0) if (c2 < 0)
...@@ -1677,18 +1678,17 @@ detect_coding_utf_16 (coding, detect_info) ...@@ -1677,18 +1678,17 @@ detect_coding_utf_16 (coding, detect_info)
{ {
e[c1] = 1; e[c1] = 1;
e_num++; e_num++;
if (e_num >= 128 && o_num >= 128) if (e_num >= 128)
break; detect_info->rejected |= CATEGORY_MASK_UTF_16_BE_NOSIG;
} }
if (! o[c2]) if (! o[c2])
{ {
o[c2] = 1; o[c2] = 1;
o_num++; o_num++;
if (e_num >= 128 && o_num >= 128) if (o_num >= 128)
break; detect_info->rejected |= CATEGORY_MASK_UTF_16_LE_NOSIG;
} }
} }
detect_info->rejected |= CATEGORY_MASK_UTF_16;
return 0; return 0;
} }
......
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