diff options
Diffstat (limited to 'src/backend/regex/regprefix.c')
-rw-r--r-- | src/backend/regex/regprefix.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/backend/regex/regprefix.c b/src/backend/regex/regprefix.c index e78faf39960..ce41620a0b4 100644 --- a/src/backend/regex/regprefix.c +++ b/src/backend/regex/regprefix.c @@ -162,14 +162,12 @@ findprefix(struct cnfa * cnfa, thiscolor = COLORLESS; for (ca = cnfa->states[st]; ca->co != COLORLESS; ca++) { - /* We ignore lookahead constraints */ - if (ca->co >= cnfa->ncolors) - continue; - /* We can also ignore BOS/BOL arcs */ + /* We can ignore BOS/BOL arcs */ if (ca->co == cnfa->bos[0] || ca->co == cnfa->bos[1]) continue; - /* ... but EOS/EOL arcs terminate the search */ - if (ca->co == cnfa->eos[0] || ca->co == cnfa->eos[1]) + /* ... but EOS/EOL arcs terminate the search, as do LACONs */ + if (ca->co == cnfa->eos[0] || ca->co == cnfa->eos[1] || + ca->co >= cnfa->ncolors) { thiscolor = COLORLESS; break; |