diff options
Diffstat (limited to 'qpid/cpp/src')
| -rw-r--r-- | qpid/cpp/src/qpid/broker/SelectorExpression.cpp | 2 | ||||
| -rw-r--r-- | qpid/cpp/src/tests/Selector.cpp | 2 |
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))")); } |
