Minor cleanup of QueryString::parse
This commit is contained in:
parent
987e8358f9
commit
a0cc9e81c7
1 changed files with 2 additions and 3 deletions
|
|
@ -145,14 +145,13 @@ namespace SimpleWeb {
|
||||||
name_end_pos = std::string::npos;
|
name_end_pos = std::string::npos;
|
||||||
value_pos = std::string::npos;
|
value_pos = std::string::npos;
|
||||||
}
|
}
|
||||||
else if(query_string[c] == '=' &&
|
else if(query_string[c] == '=' && name_end_pos == std::string::npos) {
|
||||||
name_end_pos == std::string::npos) {
|
|
||||||
name_end_pos = c;
|
name_end_pos = c;
|
||||||
value_pos = c + 1;
|
value_pos = c + 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(name_pos < query_string.size()) {
|
if(name_pos < query_string.size()) {
|
||||||
auto name = query_string.substr(name_pos, name_end_pos - name_pos);
|
auto name = query_string.substr(name_pos, (name_end_pos == std::string::npos ? std::string::npos : name_end_pos - name_pos));
|
||||||
if(!name.empty()) {
|
if(!name.empty()) {
|
||||||
auto value = value_pos >= query_string.size() ? std::string() : query_string.substr(value_pos);
|
auto value = value_pos >= query_string.size() ? std::string() : query_string.substr(value_pos);
|
||||||
result.emplace(std::move(name), Percent::decode(value));
|
result.emplace(std::move(name), Percent::decode(value));
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue