aboutsummaryrefslogtreecommitdiff
path: root/rege_dfa.c
diff options
context:
space:
mode:
Diffstat (limited to 'rege_dfa.c')
-rw-r--r--rege_dfa.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/rege_dfa.c b/rege_dfa.c
index 9764c33..a9686b1 100644
--- a/rege_dfa.c
+++ b/rege_dfa.c
@@ -97,6 +97,9 @@ longest(
break; /* NOTE BREAK OUT */
}
}
+ if (ss->flags & NOPROGRESS && v->eflags & REG_ANCHORED) {
+ return NULL;
+ }
cp = nextchr(v, cp);
ss->lastseen = cp;
css = ss;
@@ -112,6 +115,9 @@ longest(
break; /* NOTE BREAK OUT */
}
}
+ if (ss->flags & NOPROGRESS && v->eflags & REG_ANCHORED) {
+ return NULL;
+ }
cp = nextchr(v, cp);
ss->lastseen = cp;
css = ss;
@@ -230,6 +236,9 @@ shortest(
break; /* NOTE BREAK OUT */
}
}
+ if (ss->flags & NOPROGRESS && v->eflags & REG_ANCHORED) {
+ return NULL;
+ }
cp = nextchr(v, cp);
ss->lastseen = cp;
css = ss;
@@ -248,6 +257,9 @@ shortest(
break; /* NOTE BREAK OUT */
}
}
+ if (ss->flags & NOPROGRESS && v->eflags & REG_ANCHORED) {
+ return NULL;
+ }
cp = nextchr(v, cp);
ss->lastseen = cp;
css = ss;