changeset 89018:a9f683a73092

(MAKE_CHAR_UNIBYTE, MAKE_CHAR_MULTIBYTE): New macros.
author Kenichi Handa <handa@m17n.org>
date Tue, 20 Aug 2002 03:59:11 +0000
parents 6a9e0cb7368b
children 0df387138bce
files src/character.h
diffstat 1 files changed, 16 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/character.h	Tue Aug 20 03:58:53 2002 +0000
+++ b/src/character.h	Tue Aug 20 03:59:11 2002 +0000
@@ -68,6 +68,22 @@
    that corresponds to a raw 8-bit byte.  */
 #define CHAR_BYTE8_HEAD_P(byte) ((byte) == 0xC0 || (byte) == 0xC1)
 
+/* If C is not ASCII, make it unibyte. */
+
+#define MAKE_CHAR_UNIBYTE(c)			\
+  if (! ASCII_CHAR_P (c))			\
+    c = multibyte_char_to_unibyte (c, Qnil);	\
+  else
+
+
+/* If C is not ASCII, make it multibyte. */
+
+#define MAKE_CHAR_MULTIBYTE(c)		\
+  if (! ASCII_CHAR_P (c))		\
+    c = unibyte_char_to_multibyte (c);	\
+  else
+
+
 /* This is the maximum byte length of multibyte form.  */
 #define MAX_MULTIBYTE_LENGTH 5