diff options
author | Nicholas Clark <nick@ccl4.org> | 2013-01-21 20:58:49 +0100 |
---|---|---|
committer | Nicholas Clark <nick@ccl4.org> | 2013-03-19 11:53:19 +0100 |
commit | d2d8c7119aed4a86948ff470a23161eb2f07f551 (patch) | |
tree | fac1c83caf7b5e5a203f143ce2045284a148313c /regcomp.h | |
parent | 1067df30ae91aad06ce62722a2ebd437e25358bf (diff) | |
download | perl-d2d8c7119aed4a86948ff470a23161eb2f07f551.tar.gz |
Revert "PATCH: regex longjmp flaws"
This reverts commit 595598ee1f247e72e06e4cfbe0f98406015df5cc.
The netbsd - 5.0.2 compiler pointed out that the recent changes to add
longjmps to speed up some regex compilations can result in clobbering a
few values. These depend on the compiled code, and so didn't show up in
other compiler's warnings. This patch reinitializes them after a
longjmp.
[With a lot of hand editing in regcomp.c, to propagate the changes through
subsequent commits.]
Diffstat (limited to 'regcomp.h')
-rw-r--r-- | regcomp.h | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -829,11 +829,9 @@ re.pm, especially to the documentation. if (re_debug_flags & RE_DEBUG_EXTRA_GPOS) x ) /* initialization */ -/* get_sv() can return NULL during global destruction. re_debug_flags can get - * clobbered by a longjmp, so must be initialized */ +/* get_sv() can return NULL during global destruction. */ #define GET_RE_DEBUG_FLAGS DEBUG_r({ \ SV * re_debug_flags_sv = NULL; \ - re_debug_flags = 0; \ re_debug_flags_sv = get_sv(RE_DEBUG_FLAGS, 1); \ if (re_debug_flags_sv) { \ if (!SvIOK(re_debug_flags_sv)) \ |