More std::string_view fixes

This commit is contained in:
Vinnie Falco
2019-04-18 10:26:05 -07:00
parent 00603397a9
commit 71de05d3cc
5 changed files with 17 additions and 8 deletions

View File

@ -1,3 +1,9 @@
Version 252:
* More std::string_view fixes
--------------------------------------------------------------------------------
Version 251:
* Clean up CI scripts

View File

@ -179,7 +179,7 @@ struct basic_parser_base
BOOST_BEAST_DECL
static
bool
parse_dec(char const* it, char const* last, std::uint64_t& v);
parse_dec(string_view s, std::uint64_t& v);
BOOST_BEAST_DECL
static

View File

@ -154,8 +154,12 @@ find_eol(
bool
basic_parser_base::
parse_dec(char const* it, char const* last, std::uint64_t& v)
parse_dec(
string_view s,
std::uint64_t& v)
{
char const* it = s.data();
char const* last = it + s.size();
if(it == last)
return false;
std::uint64_t tmp = 0;

View File

@ -799,8 +799,7 @@ do_field(field f,
}
std::uint64_t v;
if(! parse_dec(
value.begin(), value.end(), v))
if(! parse_dec(value, v))
{
ec = error::bad_content_length;
return;

View File

@ -1223,7 +1223,7 @@ public:
{
std::uint64_t v;
auto const result =
base::parse_dec(s.begin(), s.end(), v);
base::parse_dec(s, v);
if(BEAST_EXPECTS(result, s))
BEAST_EXPECTS(v == v0, s);
};
@ -1232,7 +1232,7 @@ public:
{
std::uint64_t v;
auto const result =
base::parse_dec(s.begin(), s.end(), v);
base::parse_dec(s, v);
BEAST_EXPECTS(! result, s);
};
good("0", 0);
@ -1258,7 +1258,7 @@ public:
[&](string_view s, std::uint64_t v0)
{
std::uint64_t v;
auto it = s.begin();
auto it = s.data();
auto const result =
base::parse_hex(it, v);
if(BEAST_EXPECTS(result, s))
@ -1268,7 +1268,7 @@ public:
[&](string_view s)
{
std::uint64_t v;
auto it = s.begin();
auto it = s.data();
auto const result =
base::parse_hex(it, v);
BEAST_EXPECTS(! result, s);