[pcre-dev] Calculate minimum subject length

Top Page

Reply to this message
Author: ND
To: Pcre-dev
Subject: [pcre-dev] Calculate minimum subject length
Good day!

There is a function find_minlength()in pcre2_study.c that calculates min
subject length.

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. */

     case OP_ACCEPT:
     return -1;

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.