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 059cf64df07..60fb0bec5d7 100644
--- a/src/backend/regex/regc_nfa.c
+++ b/src/backend/regex/regc_nfa.c
@@ -3660,8 +3660,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)
{
@@ -3824,8 +3829,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);