[Lxr-commits] CVS: lxr search,1.31,1.32
Brought to you by:
ajlittoz
From: AdrianIssott <adr...@us...> - 2009-04-21 19:12:32
|
Update of /cvsroot/lxr/lxr In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv30370 Modified Files: search Log Message: Fix for bug 2752574 (The LXR general text search doesn't work with Swish on Windows) Index: search =================================================================== RCS file: /cvsroot/lxr/lxr/search,v retrieving revision 1.31 retrieving revision 1.32 diff -u -d -r1.31 -r1.32 --- search 8 Apr 2009 20:49:18 -0000 1.31 +++ search 21 Apr 2009 19:12:25 -0000 1.32 @@ -141,22 +141,18 @@ sub swishsearch { my ($searchtext, $filetext, $advanced, $casesensitive) = @_; - if (!-e $config->swishdir . "/" . $release . ".index") { - print - "<p align='center'><i>Version '$release' has not been indexed and is unavailable for searching.</i></p>"; + my $swishIndex = $config->swishdir . "/" . $release . ".index"; + if (!-e $swishIndex) { + print "<p align='center'><i>"; + print "Version '$release' has not been indexed and is unavailable for searching."; + print "</i></p>"; return; } - $ENV{'PATH'} = '/bin:/usr/local/bin:/usr/bin:/usr/sbin'; - unless (open(SWISH, "-|")) { - exec($config->swishbin, "-f", $config->swishdir . "/" . $release . ".index", - "-w", "'(" . $searchtext . ")'"); - open(STDERR, ">&STDOUT"); - print(STDERR "Couldn't exec " . $config->swishbin . ": $!\n"); - kill(9, $$); - } + + my $swishCommand = join(' ', $config->swishbin, "-f", $swishIndex, "-w", "'(" . $searchtext . ")'"); + my $ret = `$swishCommand`; + my @result = grep { not /^[\#\.]/ } split(/\n/, $ret); - my @result = grep { not /^[\#\.]/ } <SWISH>; - close(SWISH); my $retval = $?; my @ret; if ($retval == 0) { |