This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Free up bit in ANYOF flags
authorKarl Williamson <public@khwilliamson.com>
Sat, 26 Feb 2011 03:10:47 +0000 (20:10 -0700)
committerKarl Williamson <public@khwilliamson.com>
Sat, 26 Feb 2011 04:06:10 +0000 (21:06 -0700)
commit137165a601b852a9679983cdfe8d35be29f0939c
treeac4901262ef0166195893dac42877cfe2a2cf33b
parent273404573a60cac38df0db9b95c63fcaac37419d
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.
regcomp.c
regcomp.h
regexec.c
utf8.h