diff options
Diffstat (limited to 'src/backend/regex/regc_nfa.c')
-rw-r--r-- | src/backend/regex/regc_nfa.c | 18 |
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); |