mirror of
https://github.com/cuberite/libevent.git
synced 2025-09-10 04:50:37 -04:00
previous commit changed the semantics of evhttp_decode_uri; need a test for that
svn:r1156
This commit is contained in:
parent
b29b875d84
commit
382a1587a0
15
http.c
15
http.c
@ -2178,7 +2178,7 @@ evhttp_decode_uri(const char *uri)
|
|||||||
(unsigned long)(strlen(uri) + 1));
|
(unsigned long)(strlen(uri) + 1));
|
||||||
|
|
||||||
evhttp_decode_uri_internal(uri, strlen(uri),
|
evhttp_decode_uri_internal(uri, strlen(uri),
|
||||||
ret, 1 /*always_decode_plus*/);
|
ret, 0 /*always_decode_plus*/);
|
||||||
|
|
||||||
return (ret);
|
return (ret);
|
||||||
}
|
}
|
||||||
@ -2213,7 +2213,7 @@ evhttp_parse_query(const char *uri, struct evkeyvalq *headers)
|
|||||||
|
|
||||||
p = argument;
|
p = argument;
|
||||||
while (p != NULL && *p != '\0') {
|
while (p != NULL && *p != '\0') {
|
||||||
char *key, *value;
|
char *key, *value, *decoded_value;
|
||||||
argument = strsep(&p, "&");
|
argument = strsep(&p, "&");
|
||||||
|
|
||||||
value = argument;
|
value = argument;
|
||||||
@ -2221,10 +2221,13 @@ evhttp_parse_query(const char *uri, struct evkeyvalq *headers)
|
|||||||
if (value == NULL)
|
if (value == NULL)
|
||||||
goto error;
|
goto error;
|
||||||
|
|
||||||
value = evhttp_decode_uri(value);
|
if ((decoded_value = mm_malloc(strlen(value) + 1)) == NULL)
|
||||||
event_debug(("Query Param: %s -> %s\n", key, value));
|
event_err(1, "%s: mm_malloc", __func__);
|
||||||
evhttp_add_header_internal(headers, key, value);
|
evhttp_decode_uri_internal(value, strlen(value),
|
||||||
mm_free(value);
|
decoded_value, 1 /*always_decode_plus*/);
|
||||||
|
event_debug(("Query Param: %s -> %s\n", key, decoded_value));
|
||||||
|
evhttp_add_header_internal(headers, key, decoded_value);
|
||||||
|
mm_free(decoded_value);
|
||||||
}
|
}
|
||||||
|
|
||||||
error:
|
error:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user