cleaner unescapeUrl()

This commit is contained in:
kelson42 2013-10-07 13:10:37 +02:00
parent 48fa26028f
commit 835388daf9
1 changed files with 3 additions and 2 deletions

View File

@ -60,9 +60,10 @@ static char charFromHex(std::string a) {
void unescapeUrl(string &url) {
std::string::size_type pos = 0;
while ((pos = url.find('%', pos ? pos + 1 : pos)) != std::string::npos &&
pos + 3 <= url.length()) {
while ((pos = url.find('%', pos)) != std::string::npos &&
pos + 2 < url.length()) {
url.replace(pos, 3, 1, charFromHex(url.substr(pos + 1, 2)));
++pos;
}
return;
}