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) {
|