summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/regexp.c8
-rw-r--r--src/regexp_nfa.c9
-rw-r--r--src/version.c2
3 files changed, 16 insertions, 3 deletions
diff --git a/src/regexp.c b/src/regexp.c
index 853d2557..bf640fce 100644
--- a/src/regexp.c
+++ b/src/regexp.c
@@ -6538,10 +6538,16 @@ regdump(pattern, r)
end = next;
if (op == BRACE_LIMITS)
{
- /* Two short ints */
+ /* Two ints */
fprintf(f, " minval %ld, maxval %ld", OPERAND_MIN(s), OPERAND_MAX(s));
s += 8;
}
+ else if (op == BEHIND || op == NOBEHIND)
+ {
+ /* one int */
+ fprintf(f, " count %ld", OPERAND_MIN(s));
+ s += 4;
+ }
s += 3;
if (op == ANYOF || op == ANYOF + ADD_NL
|| op == ANYBUT || op == ANYBUT + ADD_NL
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index 4dea47c7..5873cfcc 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -2960,10 +2960,15 @@ log_subexpr(sub)
sub->list.multi[j].end.col,
(int)sub->list.multi[j].end.lnum);
else
+ {
+ char *s = (char *)sub->list.line[j].start;
+ char *e = (char *)sub->list.line[j].end;
+
fprintf(log_fd, "\n *** group %d, start: \"%s\", end: \"%s\"",
j,
- (char *)sub->list.line[j].start,
- (char *)sub->list.line[j].end);
+ s == NULL ? "NULL" : s,
+ e == NULL ? "NULL" : e);
+ }
fprintf(log_fd, "\n");
}
#endif
diff --git a/src/version.c b/src/version.c
index 8bb135a3..f6585e1f 100644
--- a/src/version.c
+++ b/src/version.c
@@ -729,6 +729,8 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1120,
+/**/
1119,
/**/
1118,