From d3dbca374d36dd4260adde1de63ed5da8e7bac7a Mon Sep 17 00:00:00 2001 From: "Daniel J. Hofmann" Date: Fri, 1 Apr 2016 14:30:22 +0200 Subject: [PATCH] Do not modify the end iterator for parameter parsing, too --- include/server/api/parameters_parser.hpp | 2 +- src/server/api/parameters_parser.cpp | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/include/server/api/parameters_parser.hpp b/include/server/api/parameters_parser.hpp index 5af5888e8..161910dbe 100644 --- a/include/server/api/parameters_parser.hpp +++ b/include/server/api/parameters_parser.hpp @@ -30,7 +30,7 @@ using is_parameter_t = // Starts parsing and iter and modifies it until iter == end or parsing failed template ::value, int>::type = 0> -boost::optional parseParameters(std::string::iterator &iter, std::string::iterator end); +boost::optional parseParameters(std::string::iterator &iter, const std::string::iterator end); // Copy on purpose because we need mutability template ::value, int>::type = 0, typename std::enable_if::value, int>::type = 0> -boost::optional parseParameters(std::string::iterator &iter, std::string::iterator end) +boost::optional parseParameters(std::string::iterator &iter, const std::string::iterator end) { GrammarT grammar; const auto result = boost::spirit::qi::parse(iter, end, grammar); @@ -40,21 +40,21 @@ boost::optional parseParameters(std::string::iterator &iter, std::st template <> boost::optional parseParameters(std::string::iterator &iter, - std::string::iterator end) + const std::string::iterator end) { return detail::parseParameters(iter, end); } template <> boost::optional parseParameters(std::string::iterator &iter, - std::string::iterator end) + const std::string::iterator end) { return detail::parseParameters(iter, end); } template <> boost::optional parseParameters(std::string::iterator &iter, - std::string::iterator end) + const std::string::iterator end) { return detail::parseParameters(iter, end); @@ -62,21 +62,21 @@ boost::optional parseParameters(std::string::ite template <> boost::optional parseParameters(std::string::iterator &iter, - std::string::iterator end) + const std::string::iterator end) { return detail::parseParameters(iter, end); } template <> boost::optional parseParameters(std::string::iterator &iter, - std::string::iterator end) + const std::string::iterator end) { return detail::parseParameters(iter, end); } template <> boost::optional parseParameters(std::string::iterator &iter, - std::string::iterator end) + const std::string::iterator end) { return detail::parseParameters(iter, end); }