diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2011-10-10 13:28:14 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2011-10-10 13:28:14 -0700 |
commit | 9a2598f5364c05b3322dd02f3c1a59e056b19f64 (patch) | |
tree | ef58791c7ec2a55b16c4b7110d16b7d3b00e30d5 /tests/002/proc/2722 | |
parent | 1238530e0014dd1d53d3368574b107ff3050f329 (diff) | |
download | txr-9a2598f5364c05b3322dd02f3c1a59e056b19f64.tar.gz txr-9a2598f5364c05b3322dd02f3c1a59e056b19f64.tar.bz2 txr-9a2598f5364c05b3322dd02f3c1a59e056b19f64.zip |
Improved support for broken unicode.
Regex support for extra-large character sets not compiled in
if wchar_t is not wide enough for it.
The utf-8 properly throws exceptions when encountering characters
that it cannot represent, instead of silently ignoring the
situation and continuing with incorrectly computed data.
* regex.c (FULL_UNICODE): New macro.
(CHAR_SET_L3, CHAR_SET_L2_LO, CHAR_SET_L2_HI): Only defined
if full unicde is available.
(CHSET_XLARGE, cset_L3_t, struct xlarge_char_set,
L2_full, L3_fill_range, L3_contains): Ditto.
(unon char_set): Member x1 present only under FULL_UNICODE.
(char_set_destroy, char_set_add, char_set_add_range,
char_set_contains): CHSET_XLARGE cases only available on
FULL_UNICODE.
(char_set_compile): Default cst variable to CHSET_LARGE.
* utf8.c (FULL_UNICODE): New macro.
(conversion_error): New function.
(utf8_from_uc): Throw error if not FULL_UNICODE and character is
outside the BMP.
(utf8_decode): Likewise.
Diffstat (limited to 'tests/002/proc/2722')
0 files changed, 0 insertions, 0 deletions