Mercurial > emacs
diff src/coding.c @ 87710:df9e1c663162
(detect_coding_mask): Fix previous change.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Fri, 11 Jan 2008 11:28:45 +0000 |
parents | 2aeceff24280 |
children | 0ec6f8d26078 |
line wrap: on
line diff
--- a/src/coding.c Fri Jan 11 09:59:48 2008 +0000 +++ b/src/coding.c Fri Jan 11 11:28:45 2008 +0000 @@ -4153,12 +4153,16 @@ label_loop_detect_coding: null_byte_found = 0; - while (src < src_end && ascii_skip_code[*src]) + /* We stop this loop before the last byte because it may be a NULL + anchor byte. */ + while (src < src_end - 1 && ascii_skip_code[*src]) null_byte_found |= (! *src++); - if (! null_byte_found) + if (ascii_skip_code[*src]) + src++; + else if (! null_byte_found) { unsigned char *p = src + 1; - while (p < src_end) + while (p < src_end - 1) null_byte_found |= (! *p++); } *skip = src - source;