diff options
author | lpsolit%gmail.com <> | 2007-03-17 05:15:29 +0100 |
---|---|---|
committer | lpsolit%gmail.com <> | 2007-03-17 05:15:29 +0100 |
commit | 604ccd0da5801d61ad240ae6fd4ddee2ab36d91b (patch) | |
tree | a10dead7691ddf291e680d9c796e839251b4a921 /Bugzilla/Search/Quicksearch.pm | |
parent | 75608afda9bb02d965f7be22f385ddf9f888baea (diff) | |
download | bugzilla-604ccd0da5801d61ad240ae6fd4ddee2ab36d91b.tar.gz bugzilla-604ccd0da5801d61ad240ae6fd4ddee2ab36d91b.tar.xz |
Bug 366120: QuickSearch gets confused by colons in quotes - Patch by Teemu Mannermaa <wicked+bz@etlicon.fi> r/a=LpSolit
Diffstat (limited to 'Bugzilla/Search/Quicksearch.pm')
-rw-r--r-- | Bugzilla/Search/Quicksearch.pm | 18 |
1 files changed, 6 insertions, 12 deletions
diff --git a/Bugzilla/Search/Quicksearch.pm b/Bugzilla/Search/Quicksearch.pm index a9111fe0c..4145ff7c4 100644 --- a/Bugzilla/Search/Quicksearch.pm +++ b/Bugzilla/Search/Quicksearch.pm @@ -410,28 +410,22 @@ sub splitString { my @parts; my $i = 0; - # Escape backslashes - $string =~ s/\\/\\\//g; - # Now split on quote sign; be tolerant about unclosed quotes @quoteparts = split(/"/, $string); - foreach (@quoteparts) { - # After every odd quote, escape whitespace - s/(\s)/\\$1/g if $i++ % 2; + foreach my $part (@quoteparts) { + # After every odd quote, quote special chars + $part = url_quote($part) if $i++ % 2; } # Join again $string = join('"', @quoteparts); # Now split on unescaped whitespace - @parts = split(/(?<!\\)\s+/, $string); + @parts = split(/\s+/, $string); foreach (@parts) { - # Restore whitespace - s/\\(\s)/$1/g; - # Restore backslashes - s/\\\//\\/g; # Remove quotes s/"//g; } + return @parts; } @@ -502,7 +496,7 @@ sub makeChart { my $cgi = Bugzilla->cgi; $cgi->param("field$expr", $field); $cgi->param("type$expr", $type); - $cgi->param("value$expr", $value); + $cgi->param("value$expr", url_decode($value)); } 1; |