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.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/qpid/cpp/src/qpid/broker/SelectorExpression.cpp b/qpid/cpp/src/qpid/broker/SelectorExpression.cpp
index d882814443..497ec2f6f5 100644
--- a/qpid/cpp/src/qpid/broker/SelectorExpression.cpp
+++ b/qpid/cpp/src/qpid/broker/SelectorExpression.cpp
@@ -1003,9 +1003,10 @@ Expression* parseExactNumeric(const Token& token, bool negate)
base = 8;
}
errno = 0;
- uint64_t value = std::strtoull(s.c_str(), 0, base);
+ uint64_t value = strtoull(s.c_str(), 0, base);
if (!errno && (base || value<=INT64_MAX)) {
- return new Literal(static_cast<int64_t>(negate ? -value : value));
+ int64_t r = value;
+ return new Literal((negate ? -r : r));
}
if (negate && value==INT64_MAX+1ull) return new Literal(INT64_MIN);
error = "integer literal too big";