(decode_coding_string): Set coding->src_multibyte and

coding->dst_multibyte before using CODING_REQUIRE_DECODING.
(encode_coding_string): Set coding->src_multibyte and
coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
This commit is contained in:
Kenichi Handa 2000-10-13 08:21:20 +00:00
parent e4a3f4e178
commit e2c06b17a9

View file

@ -5275,6 +5275,9 @@ 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);
require_decoding = CODING_REQUIRE_DECODING (coding);
if (STRING_MULTIBYTE (str))
@ -5284,9 +5287,6 @@ decode_coding_string (str, coding, nocopy)
to_byte = STRING_BYTES (XSTRING (str));
nocopy = 1;
}
coding->src_multibyte = 0;
coding->dst_multibyte = (coding->type != coding_type_no_conversion
&& coding->type != coding_type_raw_text);
/* Try to skip the heading and tailing ASCIIs. */
if (require_decoding && coding->type != coding_type_ccl)
@ -5420,6 +5420,11 @@ encode_coding_string (str, coding, nocopy)
to_byte = STRING_BYTES (XSTRING (str));
saved_coding_symbol = Qnil;
/* Encoding routines determine the multibyteness of the source text
by coding->src_multibyte. */
coding->src_multibyte = STRING_MULTIBYTE (str);
coding->dst_multibyte = 0;
if (! CODING_REQUIRE_ENCODING (coding))
{
coding->consumed = STRING_BYTES (XSTRING (str));
@ -5434,11 +5439,6 @@ encode_coding_string (str, coding, nocopy)
return (nocopy ? str : Fcopy_sequence (str));
}
/* Encoding routines determine the multibyteness of the source text
by coding->src_multibyte. */
coding->src_multibyte = STRING_MULTIBYTE (str);
coding->dst_multibyte = 0;
if (coding->composing != COMPOSITION_DISABLED)
coding_save_composition (coding, from, to, str);