diff options
author | Michael Drake <tlsa@netsurf-browser.org> | 2012-10-16 18:32:14 +0100 |
---|---|---|
committer | Michael Drake <tlsa@netsurf-browser.org> | 2012-10-16 18:32:14 +0100 |
commit | 88dd7c37095614cdeb1f7f662a4a3e763b69b3a5 (patch) | |
tree | dcd5f431ed8b64130f4a3a788b490b09e19a3907 | |
parent | c41ff369ff36e1ab8e25cbec6543fffa21fd3ff3 (diff) | |
download | netsurf-88dd7c37095614cdeb1f7f662a4a3e763b69b3a5.tar.gz netsurf-88dd7c37095614cdeb1f7f662a4a3e763b69b3a5.tar.bz2 |
Fix url encoded query generation, when there's no name/value pairs.
-rw-r--r-- | render/form.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/render/form.c b/render/form.c index f60a2bad3..42e76e1f2 100644 --- a/render/form.c +++ b/render/form.c @@ -684,7 +684,7 @@ static char *form_url_encode(struct form *form, { char *name, *value; char *s, *s2; - unsigned int len, len1; + unsigned int len, len1, len_init; url_func_result url_err; if (query_string) @@ -698,10 +698,10 @@ static char *form_url_encode(struct form *form, if (query_string) { s[0] = '?'; s[1] = '\0'; - len = 1; + len_init = len = 1; } else { s[0] = '\0'; - len = 0; + len_init = len = 0; } for (; control; control = control->next) { @@ -737,7 +737,8 @@ static char *form_url_encode(struct form *form, free(value); } - if (len) + if (len > len_init) + /* Replace trailing '&' */ s[len - 1] = '\0'; return s; } |