Fix space handling in url_en/decode
This commit is contained in:
@@ -51,8 +51,7 @@ void url_encode(Noh_String *string) {
|
||||
for (size_t i = 0; i < string->count; i++) {
|
||||
char cur = string->elems[i];
|
||||
if (cur == ' ') noh_da_append(&result, '+');
|
||||
|
||||
if (!byte_is_url_safe(cur)) {
|
||||
else if (!byte_is_url_safe(cur)) {
|
||||
noh_da_append(&result, '%');
|
||||
noh_da_append(&result, to_char_lower(cur >> 4));
|
||||
noh_da_append(&result, to_char_lower(cur));
|
||||
|
||||
@@ -39,21 +39,21 @@ int main() {
|
||||
|
||||
check_string(url_encode, &good, &bad,
|
||||
"abcdefghijklmnopqrstuvwxyz 1023456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()*!-._/",
|
||||
"abcdefghijklmnopqrstuvwxyz1023456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()*!-._/");
|
||||
"abcdefghijklmnopqrstuvwxyz+1023456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()*!-._/");
|
||||
|
||||
check_string(url_encode, &good, &bad,
|
||||
"~!@#$%^&* ()_+-=",
|
||||
"%7e!%40%23%24%25%5e%26*()_%2b-%3d");
|
||||
"%7e!%40%23%24%25%5e%26*+()_%2b-%3d");
|
||||
|
||||
noh_log(NOH_INFO, "");
|
||||
noh_log(NOH_INFO, "url_decode:");
|
||||
|
||||
check_string(url_decode, &good, &bad,
|
||||
"abcdefghijklmnopqrstuvwxyz1023456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()*!-._/",
|
||||
"abcdefghijklmnopqrstuvwxyz+1023456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()*!-._/",
|
||||
"abcdefghijklmnopqrstuvwxyz 1023456789ABCDEFGHIJKLMNOPQRSTUVWXYZ()*!-._/");
|
||||
|
||||
check_string(url_decode, &good, &bad,
|
||||
"%7e!%40%23%24%25%5e%26*()_%2b-%3d",
|
||||
"%7e!%40%23%24%25%5e%26*+()_%2b-%3d",
|
||||
"~!@#$%^&* ()_+-=");
|
||||
|
||||
noh_log(NOH_INFO, "");
|
||||
|
||||
Reference in New Issue
Block a user