#define MAX_4_BYTE_CHAR 0x1FFFFF
#define MAX_5_BYTE_CHAR 0x3FFF7F
+/* Minimum leading code of multibyte characters. */
+#define MIN_MULTIBYTE_LEADING_CODE 0xC0
+/* Maximum leading code of multibyte characters. */
+#define MAX_MULTIBYTE_LEADING_CODE 0xF8
+
/* Nonzero iff C is a character that corresponds to a raw 8-bit
byte. */
#define CHAR_BYTE8_P(c) ((c) > MAX_5_BYTE_CHAR)
(p)[1] = (0x80 | (((c) >> 6) & 0x3F)), \
(p)[2] = (0x80 | ((c) & 0x3F)), \
3) \
- : char_string (c, p))
+ : char_string ((unsigned) c, p))
/* Store multibyte form of byte B in P. The caller should allocate at
least MAX_MULTIBYTE_LENGTH bytes area at P in advance. Returns the
: XINT (CHAR_TABLE_REF (Vchar_width_table, c)))
extern int char_resolve_modifier_mask P_ ((int));
-extern int char_string P_ ((int, unsigned char *));
+extern int char_string P_ ((unsigned, unsigned char *));
extern int string_char P_ ((const unsigned char *,
const unsigned char **, int *));