regcomp.c: Simplify /l Synthetic Start Class construction
authorKarl Williamson <public@khwilliamson.com>
Mon, 17 Feb 2014 19:49:10 +0000 (12:49 -0700)
committerKarl Williamson <public@khwilliamson.com>
Wed, 19 Feb 2014 15:32:59 +0000 (08:32 -0700)
commite0e1be5fc663ef0fdda840a92e286b8eece99537
treea1a07cc7daeeea195ec6e0e5459cabff2a5c92b7
parent0ba8faef1d393a5e5eec58121e95c78331a76dda
regcomp.c: Simplify /l Synthetic Start Class construction

The ANYOF_POSIXL flag is needed in general for ANYOF nodes to indicate
if the struct contains an extra U32 element used to hold the list of
POSIX classes (like \w and [:punct:]) whose matches depend on the locale
in effect at the time of runtime pattern matching.

But the SSC always contains this U32, and so doesn't need to use the
flag.  Instead, if there aren't any such classes, the U32 will be zero.

Removing keeping track of this flag during the assembly of the SSC
simplifies things.  At the completion of this process, this flag is
set if the U32 is non-zero to pass that information on to regexec.c so
that it doesn't have to special case things.
regcomp.c
regcomp.h