358 |
|
|
359 |
/* When UTF-8 encoding is being used, a character is no longer just a single |
/* When UTF-8 encoding is being used, a character is no longer just a single |
360 |
byte. The macros for character handling generate simple sequences when used in |
byte. The macros for character handling generate simple sequences when used in |
361 |
byte-mode, and more complicated ones for UTF-8 characters. BACKCHAR should |
byte-mode, and more complicated ones for UTF-8 characters. BACKCHAR should |
362 |
never be called in byte mode. To make sure it can never even appear when UTF-8 |
never be called in byte mode. To make sure it can never even appear when UTF-8 |
363 |
support is omitted, we don't even define it. */ |
support is omitted, we don't even define it. */ |
364 |
|
|
365 |
#ifndef SUPPORT_UTF8 |
#ifndef SUPPORT_UTF8 |
461 |
} |
} |
462 |
|
|
463 |
/* If the pointer is not at the start of a character, move it back until |
/* If the pointer is not at the start of a character, move it back until |
464 |
it is. This is called only in UTF-8 mode - we don't put a test within the macro |
it is. This is called only in UTF-8 mode - we don't put a test within the macro |
465 |
because almost all calls are already within a block of UTF-8 only code. */ |
because almost all calls are already within a block of UTF-8 only code. */ |
466 |
|
|
467 |
#define BACKCHAR(eptr) while((*eptr & 0xc0) == 0x80) eptr-- |
#define BACKCHAR(eptr) while((*eptr & 0xc0) == 0x80) eptr-- |