summaryrefslogtreecommitdiff
path: root/proto.h
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2011-12-25 14:20:42 -0700
committerKarl Williamson <public@khwilliamson.com>2012-01-19 11:58:19 -0700
commitf758bddff3d477c79b77132210e9d4249f1d83c9 (patch)
tree896c57d82bcd5ad8709a0759693cedc0fb965892 /proto.h
parent287722f3d3da256273a55d7ef88b415ec6acbc00 (diff)
downloadperl-f758bddff3d477c79b77132210e9d4249f1d83c9.tar.gz
regcomp.c: Refactor join_exact() to eliminate extra passes
The strings in every EXACTFish node are examined for certain problematic sequences and code points. Prior to this patch, this was done in several passes, but this refactors the routine to do it in a single pass.
Diffstat (limited to 'proto.h')
-rw-r--r--proto.h7
1 files changed, 4 insertions, 3 deletions
diff --git a/proto.h b/proto.h
index d410adc01e..0c7a321489 100644
--- a/proto.h
+++ b/proto.h
@@ -6371,12 +6371,13 @@ PERL_STATIC_INLINE void S_invlist_trim(pTHX_ SV* const invlist)
#define PERL_ARGS_ASSERT_INVLIST_TRIM \
assert(invlist)
-STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, IV *min_change, U32 flags, regnode *val, U32 depth)
+STATIC U32 S_join_exact(pTHX_ struct RExC_state_t *pRExC_state, regnode *scan, IV *min_change, bool *has_exactf_sharp_s, U32 flags, regnode *val, U32 depth)
__attribute__nonnull__(pTHX_1)
__attribute__nonnull__(pTHX_2)
- __attribute__nonnull__(pTHX_3);
+ __attribute__nonnull__(pTHX_3)
+ __attribute__nonnull__(pTHX_4);
#define PERL_ARGS_ASSERT_JOIN_EXACT \
- assert(pRExC_state); assert(scan); assert(min_change)
+ assert(pRExC_state); assert(scan); assert(min_change); assert(has_exactf_sharp_s)
STATIC I32 S_make_trie(pTHX_ struct RExC_state_t *pRExC_state, regnode *startbranch, regnode *first, regnode *last, regnode *tail, U32 word_count, U32 flags, U32 depth)
__attribute__nonnull__(pTHX_1)