On 04/14/2013 07:17 AM, Guenter Knauf wrote:
> HI Daniel,
> On 13.04.2013 08:47, Daniel Gruno wrote:
>> I think the reason for limiting it to 10 is legacy stuff, so that's what
>> I've complied with.
> but thats way to less for doing something useful; therefore I've
> decoupled mod_lua from AP_MAX_REG_MATCH, added an own macro
> MODLUA_MAX_REG_MATCH, made this overwriteable with CFALGS and bumped the
> default to 25;
> hopefully a config hacker adds an option so that this can be
> specified/modified ...
> 
>> Docs fixed,
> well, the sample regex is still wrong - backslash must be escaped:
> - local matches = r:regex("foo bar baz", "foo (\w+) (\S*)")
> + local matches = r:regex("foo bar baz", "foo (\\w+) (\\S*)")
> 
> 
>> ordering of arguments likewise, and r.banner as well as
>> r.port are now just values, not functions.
> great!
> 
> Your fix with commit r1467557 "should it somehow return more matches
> than we have allocated" was my 1st patch too in order to see if that
> avoids the crash (and sure it does); but IMO its really bad to silently
> discard matches and give the user no idea why ...
> we should here think of a normal user who works on a regex pattern, and
> then wonders (and bashing head against the wall) why his pattern gets
> accepted without error, but he still gets less matches than expected;
> therefore I've changed the code to bail out early after the regcomp call
> when we know already that the pattern has more matches than allowed, and
> instead return with an error explaining this. So now you can call
> r:regex() like:
> local matches, err = r:regex("foo bar baz", "foo (\\w+) (\\S*)")
> if err then
>   r:puts(err)
> else
>   ...
> 
> attached some examples to verify my recent changes.
> 
> Gün.
ah yes, I made a rookie mistake there ;)
I'll fix up the docs accordingly.

With regards,
Daniel.

Reply via email to