Author: astitcher
Date: Mon Jun  9 13:23:44 2014
New Revision: 1601372

URL: http://svn.apache.org/r1601372
Log:
QPID-5804: Fix broken selector parsing of unary '+'

Modified:
    qpid/trunk/qpid/cpp/src/qpid/broker/SelectorExpression.cpp
    qpid/trunk/qpid/cpp/src/tests/Selector.cpp

Modified: qpid/trunk/qpid/cpp/src/qpid/broker/SelectorExpression.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/qpid/broker/SelectorExpression.cpp?rev=1601372&r1=1601371&r2=1601372&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/qpid/broker/SelectorExpression.cpp (original)
+++ qpid/trunk/qpid/cpp/src/qpid/broker/SelectorExpression.cpp Mon Jun  9 
13:23:44 2014
@@ -950,10 +950,10 @@ Expression* unaryArithExpression(Tokenis
         return new UnaryArithExpression(&negate, e.release());
     }
     default:
+        tokeniser.returnTokens();
         break;
     }
 
-    tokeniser.returnTokens();
     std::auto_ptr<Expression> e(primaryExpression(tokeniser));
     return e.release();
 }

Modified: qpid/trunk/qpid/cpp/src/tests/Selector.cpp
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/cpp/src/tests/Selector.cpp?rev=1601372&r1=1601371&r2=1601372&view=diff
==============================================================================
--- qpid/trunk/qpid/cpp/src/tests/Selector.cpp (original)
+++ qpid/trunk/qpid/cpp/src/tests/Selector.cpp Mon Jun  9 13:23:44 2014
@@ -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))"));
 }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to