Re: [pcre-dev] Multi segment matching using pcre_dfa_exec

Top Page
Delete this message
Author: Philip Hazel
Date:  
To: pcre-dev
CC: Eldar Kleiner
Subject: Re: [pcre-dev] Multi segment matching using pcre_dfa_exec
On Sat, 17 Oct 2009, I wrote:

> If so, the problem is supposed to be solved in 8.00 by the addition of
> the PCRE_PARTIAL_HARD option, which prefers a partial match over a
> complete match. However, you have found a bug! In the -RC1 code, neither
> pcre_exec() nor pcre_dfa_exec() returns PCRE_PARTIAL for the pattern
> "abcd*" when applied to "xxxabcd". I have spotted the error in the code
> in pcre_exec() and will then try to find out what's wrong in
> pcre_dfa_exec().


I believe that I have fixed the problem in both functions. I have
created a second release candidate which has just this change. It is
available from

ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/pcre-8.00-RC2.tar.gz
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/pcre-8.00-RC2.tar.bz2
ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/Testing/pcre-8.00-RC2.zip

If you use PCRE_PARTIAL_SOFT (== PCRE_PARTIAL) for "abcd*" with
"xxxabcd", you get a match, but if you use PCRE_PARTIAL_HARD, you get
PCRE_PARTIAL returned, meaning "there could be a longer match".

I am still hoping to get the full release out next week, after I have
dealt with the other issues that have been raised for the RC1 candidate.

Philip

--
Philip Hazel