summaryrefslogtreecommitdiff
path: root/regcomp.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2013-09-22 20:43:02 -0600
committerKarl Williamson <public@khwilliamson.com>2013-09-24 11:36:19 -0600
commitfb38762fa113a105b623d0eb7681d2cc03b0c161 (patch)
tree856ded20e87ead281fe4e4f6ee428ebed2e09a7f /regcomp.h
parent1867fb0b42a19559a61e89d01bda75f34e36b66a (diff)
downloadperl-fb38762fa113a105b623d0eb7681d2cc03b0c161.tar.gz
regcomp.c: Add some static functions
This commit adds some functions that are currently unused, but will be used in a future commit. This commit is essentially to make the differences smaller in that commit, as 'diff' is getting confused and not outputting the logical differences. The functions are added in a block at the beginning of the file to avoid the 'diff' issues. A later white-space only commit will move them to more appropriate positions.
Diffstat (limited to 'regcomp.h')
-rw-r--r--regcomp.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/regcomp.h b/regcomp.h
index 0eb989fa7a..f0153fc12c 100644
--- a/regcomp.h
+++ b/regcomp.h
@@ -365,6 +365,9 @@ struct regnode_ssc {
|ANYOF_LOC_FOLD \
|ANYOF_POSIXL \
|ANYOF_NONBITMAP_NON_UTF8)
+#define ANYOF_LOCALE_FLAGS (ANYOF_LOCALE \
+ |ANYOF_LOC_FOLD \
+ |ANYOF_POSIXL)
/* Character classes for node->classflags of ANYOF */
/* Should be synchronized with a table in regprop() */
@@ -472,6 +475,10 @@ struct regnode_ssc {
&& (((regnode_charclass_posixl*)(p))->classflags))
#define ANYOF_CLASS_TEST_ANY_SET(p) ANYOF_POSIXL_TEST_ANY_SET(p)
+#define ANYOF_POSIXL_TEST_ALL_SET(p) \
+ ((ANYOF_FLAGS(p) & ANYOF_POSIXL) \
+ && ((regnode_charclass_posixl*) (p))->classflags == ((1U << ((ANYOF_POSIXL_MAX) - 1))) - 1)
+
#define ANYOF_POSIXL_OR(source, dest) STMT_START { (dest)->classflags |= (source)->classflags ; } STMT_END
#define ANYOF_CLASS_OR(source, dest) ANYOF_POSIXL_OR((source), (dest))