summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Williamson <public@khwilliamson.com>2012-02-15 21:02:04 -0700
committerKarl Williamson <public@khwilliamson.com>2012-02-15 21:02:04 -0700
commit81fbdf1d350d4d6f16181152642cee61d349f8d1 (patch)
tree322d77d21297bfa5d0dc74c450eecf8527533183
parentf7b6fc8bcd51f0fa4fcd8efe8e4b0cfd4c5952af (diff)
downloadperl-smoke-me/khw-revert_invert.tar.gz
Revert "regcomp.c: Compile inverted character classes with \p{}"smoke-me/khw-revert_invert
This reverts commit b6c46382308166d54090e3d8e385710664693ac0. That commit and a later bug fix to it 5d103fec94a383c3e6812c3cb735356fffe54e7c are causing this: panic: del_backref, svp=0 during global destruction. t/re/regexp_qr_embed ........... FAILED--non-zero wait status: 5632
-rw-r--r--regcomp.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/regcomp.c b/regcomp.c
index 702acd3bb4..7e92da5826 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -10580,6 +10580,7 @@ parseit:
/* Look up the property name, and get its swash and
* inversion list, if the property is found */
+ if (! (ANYOF_FLAGS(ret) & ANYOF_INVERT)) {
if (swash) {
SvREFCNT_dec(swash);
}
@@ -10590,7 +10591,10 @@ parseit:
undefined properties */
NULL, FALSE /* No inversion list */
);
- if ( ! swash
+ }
+
+ if ( ANYOF_FLAGS(ret) & ANYOF_INVERT
+ || ! swash
|| ! SvROK(swash)
|| ! SvTYPE(SvRV(swash)) == SVt_PVHV
|| ! (invlistsvp =