summaryrefslogtreecommitdiff
path: root/src/backend/regex/regc_nfa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/regex/regc_nfa.c')
-rw-r--r--src/backend/regex/regc_nfa.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/backend/regex/regc_nfa.c b/src/backend/regex/regc_nfa.c
index 6d77c59e121..0e93c74287e 100644
--- a/src/backend/regex/regc_nfa.c
+++ b/src/backend/regex/regc_nfa.c
@@ -3602,8 +3602,13 @@ dumpnfa(struct nfa *nfa,
if (nfa->flags & HASLACONS)
fprintf(f, ", haslacons");
if (nfa->flags & MATCHALL)
- fprintf(f, ", minmatchall %d, maxmatchall %d",
- nfa->minmatchall, nfa->maxmatchall);
+ {
+ fprintf(f, ", minmatchall %d", nfa->minmatchall);
+ if (nfa->maxmatchall == DUPINF)
+ fprintf(f, ", maxmatchall inf");
+ else
+ fprintf(f, ", maxmatchall %d", nfa->maxmatchall);
+ }
fprintf(f, "\n");
for (s = nfa->states; s != NULL; s = s->next)
{
@@ -3766,8 +3771,13 @@ dumpcnfa(struct cnfa *cnfa,
if (cnfa->flags & HASLACONS)
fprintf(f, ", haslacons");
if (cnfa->flags & MATCHALL)
- fprintf(f, ", minmatchall %d, maxmatchall %d",
- cnfa->minmatchall, cnfa->maxmatchall);
+ {
+ fprintf(f, ", minmatchall %d", cnfa->minmatchall);
+ if (cnfa->maxmatchall == DUPINF)
+ fprintf(f, ", maxmatchall inf");
+ else
+ fprintf(f, ", maxmatchall %d", cnfa->maxmatchall);
+ }
fprintf(f, "\n");
for (st = 0; st < cnfa->nstates; st++)
dumpcstate(st, cnfa, f);