Mercurial > emacs
changeset 32353:803ca8bc08b2
(CHAR_STRING): Optimized for single byte characters.
author | Kenichi Handa <handa@m17n.org> |
---|---|
date | Tue, 10 Oct 2000 02:00:52 +0000 |
parents | 565db62c7ee1 |
children | eaa80d9a03d4 |
files | src/charset.h |
diffstat | 1 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/charset.h Tue Oct 10 02:00:33 2000 +0000 +++ b/src/charset.h Tue Oct 10 02:00:52 2000 +0000 @@ -524,9 +524,11 @@ advance. Returns the length of the multi-byte form. If C is an invalid character code, signal an error. */ -#define CHAR_STRING(c, str) \ - (ASCII_BYTE_P (c) \ - ? (*(str) = (unsigned char)(c), 1) \ +#define CHAR_STRING(c, str) \ + (SINGLE_BYTE_CHAR_P (c) \ + ? ((ASCII_BYTE_P (c) || c >= 0xA0) \ + ? (*(str) = (unsigned char)(c), 1) \ + : (*(str) = LEADING_CODE_8_BIT_CONTROL, *((str)+ 1) = c + 0x20, 2)) \ : char_to_string (c, (unsigned char *) str)) /* Return a character code of the character of which multi-byte form