Bug 997281: New QuickSearch operators can short-circuit each other depending on which ones are tested first

r/a=justdave


git-svn-id: svn://10.0.0.236/trunk@265329 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
bzrmirror%bugzilla.org 2014-04-16 20:15:44 +00:00
parent 110a4e5108
commit 3214a56a8b
3 changed files with 7 additions and 3 deletions

View File

@ -1 +1 @@
8989
8990

View File

@ -1 +1 @@
060fa9003b9177a73f02ba5ea561bb5be306c74a
23bad39c2d516b7834b4fa95de054bf1ed769e8e

View File

@ -402,7 +402,11 @@ sub _handle_field_names {
# Generic field1,field2,field3:value1,value2 notation.
# We have to correctly ignore commas and colons in quotes.
foreach my $symbol (keys %{ OPERATOR_SYMBOLS() }) {
# Longer operators must be tested first as we don't want single character
# operators such as <, > and = to be tested before <=, >= and !=.
my @operators = sort { length($b) <=> length($a) } keys %{ OPERATOR_SYMBOLS() };
foreach my $symbol (@operators) {
my @field_values = _parse_line($symbol, 1, $or_operand);
next unless scalar @field_values == 2;
my @fields = _parse_line(',', 1, $field_values[0]);