summaryrefslogtreecommitdiff
path: root/utf8.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2011-02-25 20:10:47 -0700
committerKarl Williamson <public@khwilliamson.com>2011-02-25 21:06:10 -0700
commit137165a601b852a9679983cdfe8d35be29f0939c (patch)
treeac4901262ef0166195893dac42877cfe2a2cf33b /utf8.h
parent273404573a60cac38df0db9b95c63fcaac37419d (diff)
downloadperl-137165a601b852a9679983cdfe8d35be29f0939c.tar.gz
Free up bit in ANYOF flags
This is the foundation for fixing the regression RT #82610. My analysis was wrong that two bits could be shared, at least not without further work. This changes to use a different mechanism to pass needed information to regexec.c so that another bit can be freed up and, in a later commit, the two bits can become unshared again. The bit that is freed up is ANYOF_UTF8, which basically said there is something that is matched outside the ANYOF bitmap, and requires the target string to be in utf8. This changes things so the existence of something besides the bitmap indicates this, and so no flag is needed. The flag bit ANYOF_NONBITMAP_NON_UTF8 remains to indicate that there is something that should be matched outside the bitmap even if the target string isn't in utf8.
Diffstat (limited to 'utf8.h')
-rw-r--r--utf8.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/utf8.h b/utf8.h
index da714391a5..7228000e3e 100644
--- a/utf8.h
+++ b/utf8.h
@@ -438,7 +438,7 @@ Perl's extended UTF-8 means we can have start bytes up to FF.
#define ANYOF_FOLD_SHARP_S(node, input, end) \
(ANYOF_BITMAP_TEST(node, LATIN_SMALL_LETTER_SHARP_S) && \
- (ANYOF_FLAGS(node) & ANYOF_NONBITMAP) && \
+ (ANYOF_NONBITMAP(node)) && \
(ANYOF_FLAGS(node) & ANYOF_LOC_NONBITMAP_FOLD) && \
((end) > (input) + 1) && \
toLOWER((input)[0]) == 's' && \