There is a function find_minlength()in pcre2_study.c that calculates min
1. It drops patterns that have (*ACCEPT) verb.
/* ACCEPT makes things far too complicated; we have to give up. In
from 10.34 onwards, if a pattern contains (*ACCEPT), this function is
used. However, leave the code in place, just in case. */
May be when meet (*ACCEPT) find_minlength must simply drop further
calculations for current branch. So the current value of "branchlength"
will be immediately considered as a minimum length of whole branch.
2. If current branch is ended and calculated branchlength=0 then it seems
no need to calculate the rest branches. May be this behaviour is present
in code but I don't find it. If no, may be it can be useful.
This message was posted to the following mailing lists: