Fix decoding DOS EOL in a unibyte buffer
* src/coding.c (decode_eol): Loop over bytes, not characters. (Bug#5251)
This commit is contained in:
parent
2abcb06cab
commit
289d5c6e97
1 changed files with 3 additions and 3 deletions
|
@ -6828,11 +6828,11 @@ decode_eol (struct coding_system *coding)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ptrdiff_t pos_byte = coding->dst_pos_byte;
|
|
||||||
ptrdiff_t pos = coding->dst_pos;
|
ptrdiff_t pos = coding->dst_pos;
|
||||||
ptrdiff_t pos_end = pos + coding->produced_char - 1;
|
ptrdiff_t pos_byte = coding->dst_pos_byte;
|
||||||
|
ptrdiff_t pos_end = pos_byte + coding->produced - 1;
|
||||||
|
|
||||||
while (pos < pos_end)
|
while (pos_byte < pos_end)
|
||||||
{
|
{
|
||||||
p = BYTE_POS_ADDR (pos_byte);
|
p = BYTE_POS_ADDR (pos_byte);
|
||||||
if (*p == '\r' && p[1] == '\n')
|
if (*p == '\r' && p[1] == '\n')
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue