summaryrefslogtreecommitdiffstats
path: root/tests/002/proc/2661
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-10-10 13:28:14 -0700
committerKaz Kylheku <kaz@kylheku.com>2011-10-10 13:28:14 -0700
commit9a2598f5364c05b3322dd02f3c1a59e056b19f64 (patch)
treeef58791c7ec2a55b16c4b7110d16b7d3b00e30d5 /tests/002/proc/2661
parent1238530e0014dd1d53d3368574b107ff3050f329 (diff)
downloadtxr-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/2661')
0 files changed, 0 insertions, 0 deletions