summaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorJarkko Hietaniemi <jhi@iki.fi>2000-11-27 05:48:41 +0000
committerJarkko Hietaniemi <jhi@iki.fi>2000-11-27 05:48:41 +0000
commitdaf1811632cf55f31e559704559b9f8c15b1f2e3 (patch)
tree2eefb0607aa40e1ef09085525564737a126ffe57 /regexec.c
parent07a6e20df10b58a487fc94d8adff3e6be4e18fdb (diff)
downloadperl-daf1811632cf55f31e559704559b9f8c15b1f2e3.tar.gz
It seems that *both* the unused submatch loop cleanup
codes are needed. p4raw-id: //depot/perl@7881
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/regexec.c b/regexec.c
index 4cb17f6770..018c6c8963 100644
--- a/regexec.c
+++ b/regexec.c
@@ -190,13 +190,17 @@ S_regcppop(pTHX)
(IV)(*PL_reglastparen + 1), (IV)PL_regnpar);
}
);
-#if 0
+#if 1
/* It would seem that the similar code in regtry()
* already takes care of this, and in fact it is in
* a better location to since this code can #if 0-ed out
* but the code in regtry() is needed or otherwise tests
* requiring null fields (pat.t#187 and split.t#{13,14}
- * (as of patchlevel 7877) will fail. --jhi */
+ * (as of patchlevel 7877) will fail. Then again,
+ * this code seems to be necessary or otherwise
+ * building DynaLoader will fail:
+ * "Error: '*' not in typemap in DynaLoader.xs, line 164"
+ * --jhi */
for (paren = *PL_reglastparen + 1; paren <= PL_regnpar; paren++) {
if (paren > PL_regsize)
PL_regstartp[paren] = -1;
@@ -1802,10 +1806,14 @@ S_regtry(pTHX_ regexp *prog, char *startpos)
/* Tests pat.t#187 and split.t#{13,14} seem to depend on this code.
* Actually, the code in regcppop() (which Ilya may be meaning by
- * PL_reglastparen), does not seem to be needed at all (?!), whereas
- * this code *is* needed for the above-mentioned tests to succeed.
- * The common theme on those tests seems to be returning null fields
- * from matches. --jhi */
+ * PL_reglastparen), is not needed at all by the test suite
+ * (op/regexp, op/pat, op/split), but that code is needed, oddly
+ * enough, for building DynaLoader, or otherwise this
+ * "Error: '*' not in typemap in DynaLoader.xs, line 164"
+ * will happen. Meanwhile, this code *is* needed for the
+ * above-mentioned test suite tests to succeed. The common theme
+ * on those tests seems to be returning null fields from matches.
+ * --jhi */
#if 1
sp = prog->startp;
ep = prog->endp;