[pcre-dev] [Bug 595] PCRE_ERROR_NULLWSLIMIT missing from inc…

Startseite
Nachricht löschen
Autor: Philip Hazel
Datum:  
To: pcre-dev
Betreff: [pcre-dev] [Bug 595] PCRE_ERROR_NULLWSLIMIT missing from include files in 'new' pcre v7.3 builds
------- You are receiving this mail because: -------
You are on the CC list for the bug.

http://bugs.exim.org/show_bug.cgi?id=595




--- Comment #1 from Philip Hazel <ph10@???> 2007-09-10 09:35:15 ---
On Sat, 8 Sep 2007, snowcrash+exim wrote:

> 'make' fails @
>
>         "'PCRE_ERROR_NULLWSLIMIT' undeclared"


> also, i've verified that the symbol is missing in the pcre-7.3 install via
> FreeBSD's port system -- same as reported above.
>
> as there's no other mention of the symbol in, e.g., "CHANGES", i'm guessing
> this is (may be?) a bug ...


My Bad. The error itself was abolished, but I should have left the
symbol for compatibility. I'm about to start work on 7.4, and I'll put
it back, though it can now never happen. The change was this one:

 7. Change 7.0/38 introduced a new limit on the number of nested non-capturing
    parentheses; I made it 1000, which seemed large enough. Unfortunately, the
    limit also applies to "virtual nesting" when a pattern is recursive, and in
    this case 1000 isn't so big. I have been able to remove this limit at the
    expense of backing off one optimization in certain circumstances. Normally,
    when pcre_exec() would call its internal match() function recursively and
    immediately return the result unconditionally, it uses a "tail recursion"
    feature to save stack. However, when a subpattern that can match an empty
    string has an unlimited repetition quantifier, it no longer makes this
    optimization. That gives it a stack frame in which to save the data for
    checking that an empty string has been matched. Previously this was taken
    from the 1000-entry workspace that had been reserved. So now there is no
    explicit limit, but more stack is used.


Philip


--
Configure bugmail: http://bugs.exim.org/userprefs.cgi?tab=email