aboutsummaryrefslogtreecommitdiff
path: root/regexec.c
diff options
context:
space:
mode:
authorRobin Haberkorn <rhaberkorn@fmsbw.de>2026-06-27 17:07:31 +0200
committerRobin Haberkorn <rhaberkorn@fmsbw.de>2026-06-27 17:11:39 +0200
commit413bad8c8848bc2e31ac0034c58130ac67f3b1f8 (patch)
treeabf99972f5c8023e43377dcf07d72f330828afcf /regexec.c
parentfaa449f2c2353aad5ebd61f27181fdc576a6ab78 (diff)
downloadterex-413bad8c8848bc2e31ac0034c58130ac67f3b1f8.tar.gz
implemented REG_ANCHORED execution flag
* So you can anchor executions of already compiled patterns. In principle REG_BOSONLY could also be handled by the same code. * Required by SciTECO. * Test suite has been fixed and extended. The test program now takes getopt() style short arguments to specify flags.
Diffstat (limited to 'regexec.c')
-rw-r--r--regexec.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/regexec.c b/regexec.c
index d047929..848d911 100644
--- a/regexec.c
+++ b/regexec.c
@@ -415,6 +415,9 @@ find(
if (end != NULL) {
break; /* NOTE BREAK OUT */
}
+ if (v->eflags & REG_ANCHORED) {
+ break; /* NOTE BREAK OUT */
+ }
}
assert(end != NULL); /* search RE succeeded so loop should */
freedfa(d);
@@ -578,6 +581,9 @@ cfindloop(
estop = prevchr(v, end);
}
}
+ if (v->eflags & REG_ANCHORED) {
+ break; /* NOTE BREAK OUT */
+ }
}
} while (close < v->stop);