# HG changeset patch # User Kenichi Handa # Date 904306959 0 # Node ID f2cee3bcef780d7586b7a2f40c1c09da5391497b # Parent 1d223a4bf4ded98130d631129b4b9d2e0aca3b77 (CHAR_BYTES): New macro. diff -r 1d223a4bf4de -r f2cee3bcef78 src/charset.h --- a/src/charset.h Fri Aug 28 12:22:39 1998 +0000 +++ b/src/charset.h Fri Aug 28 12:22:39 1998 +0000 @@ -553,6 +553,9 @@ #define BASE_LEADING_CODE_P(c) (BYTES_BY_CHAR_HEAD ((unsigned char) (c)) > 1) +/* Return how many bytes C will occupy in a multibyte buffer. */ +#define CHAR_BYTES(c) (SINGLE_BYTE_CHAR_P (c) ? 1 : char_bytes (c)) + /* The following two macros CHAR_STRING and STRING_CHAR are the main entry points to convert between Emacs two types of character representations: multi-byte form and single-word form (character @@ -815,6 +818,7 @@ extern int find_charset_in_str P_ ((unsigned char *, int, int *, Lisp_Object, int)); extern int strwidth P_ ((unsigned char *, int)); +extern int char_bytes P_ ((int)); extern Lisp_Object Vtranslation_table_vector;