Index: main/http.c =================================================================== --- main/http.c (revision 70446) +++ main/http.c (working copy) @@ -145,18 +145,6 @@ return wkspace; } -/* like ast_uri_decode, but replace '+' with ' ' */ -static char *uri_decode(char *buf) -{ - char *c; - ast_uri_decode(buf); - for (c = buf; *c; c++) { - if (*c == '+') - *c = ' '; - } - return buf; -} - static struct ast_str *static_callback(struct sockaddr_in *req, const char *uri, struct ast_variable *vars, int *status, char **title, int *contentlength) { struct ast_str *result; @@ -582,9 +570,11 @@ while ((val = strsep(¶ms, "&"))) { var = strsep(&val, "="); - if (val) - uri_decode(val); - else + if (val) { + *val = '\0'; + val++; + ast_uri_decode(val); + } else val = ""; ast_uri_decode(var); if ((v = ast_variable_new(var, val))) {