diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/net.c | 5 | ||||
| -rw-r--r-- | src/net/util.c | 1 |
2 files changed, 5 insertions, 1 deletions
@@ -859,7 +859,10 @@ void* handle_client(void *_arg){ parray_t* par = params->arr[id].value;
for(int z = 0; z != par->len; z++){
- luaI_tsets(L, new_param_idx, par->P[z].key->c, (char*)par->P[z].value);
+ char* v = ((char*)par->P[z].value);
+ for(int u = 0; v[u] != '\0'; u++)
+ if(v[u] == '%') v[u] = '/';
+ luaI_tsets(L, new_param_idx, par->P[z].key->c, v);
}
parray_clear(par, FREE);
diff --git a/src/net/util.c b/src/net/util.c index bada160..62b394c 100644 --- a/src/net/util.c +++ b/src/net/util.c @@ -546,6 +546,7 @@ int percent_decode(str* input, str** _output){ return 1; } + if(c == '/') c = '%'; str_pushl(output, ((char*)&c), 1); str_free(hex); i += 2; |
