(decode_coding_string): Set coding->src_multibyte and

coding->dst_multibyte before calling detect_coding and detect_eol.
Update them after some coding system is detected.
This commit is contained in:
Kenichi Handa 2000-12-14 01:27:43 +00:00
parent 1da1bb05a8
commit 764ca8dad8

View file

@ -5328,6 +5328,8 @@ decode_coding_string (str, coding, nocopy)
to_byte = STRING_BYTES (XSTRING (str));
saved_coding_symbol = Qnil;
coding->src_multibyte = STRING_MULTIBYTE (str);
coding->dst_multibyte = 1;
if (CODING_REQUIRE_DETECTION (coding))
{
/* See the comments in code_convert_region. */
@ -5350,9 +5352,10 @@ decode_coding_string (str, coding, nocopy)
}
}
coding->src_multibyte = 0;
coding->dst_multibyte = (coding->type != coding_type_no_conversion
&& coding->type != coding_type_raw_text);
if (coding->type == coding_type_no_conversion
|| coding->type == coding_type_raw_text)
coding->dst_multibyte = 0;
require_decoding = CODING_REQUIRE_DECODING (coding);
if (STRING_MULTIBYTE (str))
@ -5361,6 +5364,7 @@ decode_coding_string (str, coding, nocopy)
str = Fstring_as_unibyte (str);
to_byte = STRING_BYTES (XSTRING (str));
nocopy = 1;
coding->src_multibyte = 0;
}
/* Try to skip the heading and tailing ASCIIs. */