summaryrefslogtreecommitdiff
path: root/regcomp.c
diff options
context:
space:
mode:
authorHugo van der Sanden <hv@crypt.org>2020-03-30 18:05:12 +0100
committerHugo van der Sanden <hv@crypt.org>2020-03-30 18:05:12 +0100
commit5de22a40933c620b62e1f431457593777b99793d (patch)
tree66ac473f0ff3c77aa8fc0cfc195018c788d9d978 /regcomp.c
parent95b7e3a36a7719a93600fbdbe66b690717cdff2d (diff)
downloadperl-5de22a40933c620b62e1f431457593777b99793d.tar.gz
scan_commit: fix flag handling
A regexp substring changing from SF_BEFORE_MEOL to SF_BEFORE_SEOL or vice versa would wrongly end up with both flags.
Diffstat (limited to 'regcomp.c')
-rw-r--r--regcomp.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/regcomp.c b/regcomp.c
index f251cccb95..690a581fe0 100644
--- a/regcomp.c
+++ b/regcomp.c
@@ -1502,10 +1502,8 @@ S_scan_commit(pTHX_ const RExC_state_t *pRExC_state, scan_data_t *data,
: data->pos_min + data->pos_delta));
}
- if (data->flags & SF_BEFORE_EOL)
- data->substrs[i].flags |= (data->flags & SF_BEFORE_EOL);
- else
- data->substrs[i].flags &= ~SF_BEFORE_EOL;
+ data->substrs[i].flags &= ~SF_BEFORE_EOL;
+ data->substrs[i].flags |= data->flags & SF_BEFORE_EOL;
data->substrs[i].minlenp = minlenp;
data->substrs[i].lookbehind = 0;
}