summaryrefslogtreecommitdiff
path: root/qpid/cpp/src
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/cpp/src')
-rw-r--r--qpid/cpp/src/qpid/broker/SelectorExpression.cpp2
-rw-r--r--qpid/cpp/src/tests/Selector.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/qpid/cpp/src/qpid/broker/SelectorExpression.cpp b/qpid/cpp/src/qpid/broker/SelectorExpression.cpp
index e64fd327d5..1e217737ce 100644
--- a/qpid/cpp/src/qpid/broker/SelectorExpression.cpp
+++ b/qpid/cpp/src/qpid/broker/SelectorExpression.cpp
@@ -950,10 +950,10 @@ Expression* unaryArithExpression(Tokeniser& tokeniser)
return new UnaryArithExpression(&negate, e.release());
}
default:
+ tokeniser.returnTokens();
break;
}
- tokeniser.returnTokens();
std::auto_ptr<Expression> e(primaryExpression(tokeniser));
return e.release();
}
diff --git a/qpid/cpp/src/tests/Selector.cpp b/qpid/cpp/src/tests/Selector.cpp
index 59bdd36b77..30c69c68af 100644
--- a/qpid/cpp/src/tests/Selector.cpp
+++ b/qpid/cpp/src/tests/Selector.cpp
@@ -303,6 +303,8 @@ QPID_AUTO_TEST_CASE(parseString)
BOOST_CHECK_NO_THROW(qb::Selector e("(354.6)"));
BOOST_CHECK_NO_THROW(qb::Selector e("A is null and 'hello out there'"));
BOOST_CHECK_NO_THROW(qb::Selector e("17/4>4"));
+ BOOST_CHECK_NO_THROW(qb::Selector e("17/4>+4"));
+ BOOST_CHECK_NO_THROW(qb::Selector e("17/4>-4"));
BOOST_CHECK_NO_THROW(qb::Selector e("A IN ('hello', 'there', 1 , true, (1-17))"));
}