changeset 32445:05513a882886

(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.
author Kenichi Handa <handa@m17n.org>
date Fri, 13 Oct 2000 08:21:20 +0000
parents dd1d1067760b
children aab90b31807c
files src/coding.c
diffstat 1 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/coding.c	Fri Oct 13 08:19:47 2000 +0000
+++ b/src/coding.c	Fri Oct 13 08:21:20 2000 +0000
@@ -5275,6 +5275,9 @@
 	}
     }
 
+  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 @@
       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 @@
   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 @@
       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);