(decode_coding_string): Set coding->src_multibyte and
authorKenichi Handa <handa@m17n.org>
Fri, 13 Oct 2000 08:21:20 +0000 (08:21 +0000)
committerKenichi Handa <handa@m17n.org>
Fri, 13 Oct 2000 08:21:20 +0000 (08:21 +0000)
coding->dst_multibyte before using CODING_REQUIRE_DECODING.
(encode_coding_string): Set coding->src_multibyte and
coding->dst_multibyte before using CODING_REQUIRE_ENCODING.

src/coding.c

index 6d2e6d9..282f8e2 100644 (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);