From 9b63e895ee43cb3717f72cde64f6a658b1b46dd7 Mon Sep 17 00:00:00 2001 From: Karl Williamson Date: Sun, 21 Jun 2015 21:38:32 -0600 Subject: There are no folds to multiple chars in early Unicode versions Several places require special handling because of this, notably for the lowercase Sharp S, but not in Unicodes before 3.0.1 --- pp.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'pp.c') diff --git a/pp.c b/pp.c index f750fce304..57b05b3d14 100644 --- a/pp.c +++ b/pp.c @@ -4401,8 +4401,14 @@ PP(pp_fc) const U8 *send; U8 *d; U8 tmpbuf[UTF8_MAXBYTES_CASE + 1]; +#if UNICODE_MAJOR_VERSION > 3 /* no multifolds in early Unicode */ \ + || (UNICODE_MAJOR_VERSION == 3 && ( UNICODE_DOT_VERSION > 0) \ + || UNICODE_DOT_DOT_VERSION > 0) const bool full_folding = TRUE; /* This variable is here so we can easily move to more generality later */ +#else + const bool full_folding = FALSE; +#endif const U8 flags = ( full_folding ? FOLD_FLAGS_FULL : 0 ) #ifdef USE_LOCALE_CTYPE | ( IN_LC_RUNTIME(LC_CTYPE) ? FOLD_FLAGS_LOCALE : 0 ) -- cgit v1.2.1