]> git.eshelyaron.com Git - emacs.git/commitdiff
(STRING_CHAR_AND_LENGTH): Return correct value in
authorKenichi Handa <handa@m17n.org>
Mon, 7 Sep 1998 13:39:15 +0000 (13:39 +0000)
committerKenichi Handa <handa@m17n.org>
Mon, 7 Sep 1998 13:39:15 +0000 (13:39 +0000)
ACTUAL_LEN even if LEN is too short to have a valid multibyte
form.
(STRING_CHAR_AND_CHAR_LENGTH): Likewise.

src/charset.h

index d2fd94e6ade3d3a1a6a6d42264c0408f15b7850f..b25e66a563209867538ea9fd16e669e2ca773419 100644 (file)
@@ -587,16 +587,14 @@ extern int iso_charset_table[2][2][128];
    MULTIBYTE_FORM_LENGTH.  */
 
 #define STRING_CHAR_AND_LENGTH(str, len, actual_len)           \
-  ((BYTES_BY_CHAR_HEAD ((unsigned char) *(str)) == 1           \
-    || BYTES_BY_CHAR_HEAD ((unsigned char) *(str)) > (len))    \
+  (BYTES_BY_CHAR_HEAD ((unsigned char) *(str)) == 1            \
    ? (actual_len = 1), (unsigned char) *(str)                  \
    : string_to_non_ascii_char (str, len, &actual_len, 0))
 
 /* This is like STRING_CHAR_AND_LENGTH but the third arg ACTUAL_LEN
    does not include garbage bytes following the multibyte character.  */
-#define STRING_CHAR_AND_CHAR_LENGTH(str, len, actual_len)              \
-  ((BYTES_BY_CHAR_HEAD ((unsigned char) *(str)) == 1           \
-    || BYTES_BY_CHAR_HEAD ((unsigned char) *(str)) > (len))    \
+#define STRING_CHAR_AND_CHAR_LENGTH(str, len, actual_len)      \
+  (BYTES_BY_CHAR_HEAD ((unsigned char) *(str)) == 1            \
    ? (actual_len = 1), (unsigned char) *(str)                  \
    : string_to_non_ascii_char (str, len, &actual_len, 1))