html: fix url_escape
When used in URLs to be passed to a browser, strings MUST NOT contain +. We must escape + too, otherwise browsers converts it to a space or %20, which does not represent the original value anymore. Signed-off-by: Simon Rozman <simon@rozman.si>
This commit is contained in:
parent
6379065f15
commit
bfda0e962b
@ -312,7 +312,7 @@ namespace stdex
|
||||
stdex_assert(src || !num_chars);
|
||||
for (size_t i = 0; i < num_chars && src[i]; ++i) {
|
||||
switch (src[i]) {
|
||||
case ' ': dst += "+"; break;
|
||||
case ' ': dst += "%20"; break;
|
||||
case '<': dst += "%3C"; break;
|
||||
case '>': dst += "%3E"; break;
|
||||
case '#': dst += "%23"; break;
|
||||
@ -327,6 +327,7 @@ namespace stdex
|
||||
case ']': dst += "%5D"; break;
|
||||
case '`': dst += "%60"; break;
|
||||
case ';': dst += "%3B"; break;
|
||||
case '+': dst += "%2B"; break;
|
||||
case '/': dst += "%2F"; break;
|
||||
case '?': dst += "%3F"; break;
|
||||
case ':': dst += "%3A"; break;
|
||||
|
Loading…
x
Reference in New Issue
Block a user