diff options
| author | Kenichi Handa | 1998-11-09 07:06:11 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1998-11-09 07:06:11 +0000 |
| commit | 1dca54f61ea181bbcab4d75dc2599a28ba0d4024 (patch) | |
| tree | 3959f001b35e214922dc7cef760ad127231f322b | |
| parent | 5f1af2d872b58f5f990a7a667aab32cd5152388b (diff) | |
| download | emacs-1dca54f61ea181bbcab4d75dc2599a28ba0d4024.tar.gz emacs-1dca54f61ea181bbcab4d75dc2599a28ba0d4024.zip | |
(string_to_non_ascii_char): Return correct length for
a charset of dimension 2 and composition character.
| -rw-r--r-- | src/charset.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/charset.c b/src/charset.c index 702ec54a42c..a65de79c8a6 100644 --- a/src/charset.c +++ b/src/charset.c | |||
| @@ -208,8 +208,10 @@ string_to_non_ascii_char (str, len, actual_len, exclude_tail_garbage) | |||
| 208 | if (cmpchar_id >= 0) | 208 | if (cmpchar_id >= 0) |
| 209 | { | 209 | { |
| 210 | c = MAKE_COMPOSITE_CHAR (cmpchar_id); | 210 | c = MAKE_COMPOSITE_CHAR (cmpchar_id); |
| 211 | str += cmpchar_table[cmpchar_id]->len; | 211 | str += cmpchar_table[cmpchar_id]->len - 1; |
| 212 | } | 212 | } |
| 213 | else | ||
| 214 | str += bytes - 1; | ||
| 213 | } | 215 | } |
| 214 | else | 216 | else |
| 215 | { | 217 | { |
| @@ -230,7 +232,7 @@ string_to_non_ascii_char (str, len, actual_len, exclude_tail_garbage) | |||
| 230 | if (CHARSET_DEFINED_P (charset) | 232 | if (CHARSET_DEFINED_P (charset) |
| 231 | && CHARSET_DIMENSION (charset) == 2 | 233 | && CHARSET_DIMENSION (charset) == 2 |
| 232 | && str < endp) | 234 | && str < endp) |
| 233 | c2 = *str & 0x7F; | 235 | c2 = *str++ & 0x7F; |
| 234 | c = MAKE_NON_ASCII_CHAR (charset, c1, c2); | 236 | c = MAKE_NON_ASCII_CHAR (charset, c1, c2); |
| 235 | } | 237 | } |
| 236 | } while (0); | 238 | } while (0); |