From e10ae834bc2faf1ab859f72cb1f867db1f489cad Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 10 Oct 2000 02:00:52 +0000 Subject: [PATCH] (CHAR_STRING): Optimized for single byte characters. --- src/charset.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/charset.h b/src/charset.h index 83b31abf1f6..b8ee0af40f7 100644 --- a/src/charset.h +++ b/src/charset.h @@ -524,9 +524,11 @@ extern int iso_charset_table[2][2][128]; 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 -- 2.39.2