[dokuwiki] Re: [PATCH] search problems and solutions

  • From: Matthias Grimm <matthiasgrimm@xxxxxxxxxxxxxxxxxxxxx>
  • To: dokuwiki@xxxxxxxxxxxxx
  • Date: Sat, 4 Jun 2005 22:06:27 +0200

On Fri, 3 Jun 2005 23:00:17 +0200
Andreas Gohr <andi@xxxxxxxxxxxxxx> wrote:

> > I reworked my search patch (please delete the old one) which uses
> > assertions. The result is that only one regular expression must be
> > processed instead of one for each search word. As an additional
> > benefit it is possible now to exclude words from the search. I
> > implemented a very simple search syntax:
> 
> Excellent work! pushed.

Thanks :-) But unfortunately there is a bug in the code. The attached patch
fix it. It does some optimazations as well.

I did some additional tests and found a strange behaviour:

I search for "-test" and the search window locked up (the progress bar
waved forever). After some debugging I found out that the execution of
the regular expression "^((?!test).)*$" through the function
preg_match_all() on the file wiki:syntax.txt will crash my PHP
(segfault).

All other files in my wiki work (but that are not much). I remember that
I had this problem earlier with the old search code too but it occoured
rather rare.

Does anyone got similar effects? Are there any know problems with PHP
and regular expressions?

I use PHP 4.3.10-13 (from debian) on ppc.

  Best Regards
   Matthias

Other related posts: