summaryrefslogtreecommitdiff
path: root/render
diff options
context:
space:
mode:
authorMichael Drake <tlsa@netsurf-browser.org>2012-10-16 18:32:14 +0100
committerMichael Drake <tlsa@netsurf-browser.org>2012-10-16 18:32:14 +0100
commit88dd7c37095614cdeb1f7f662a4a3e763b69b3a5 (patch)
treedcd5f431ed8b64130f4a3a788b490b09e19a3907 /render
parentc41ff369ff36e1ab8e25cbec6543fffa21fd3ff3 (diff)
downloadnetsurf-88dd7c37095614cdeb1f7f662a4a3e763b69b3a5.tar.gz
netsurf-88dd7c37095614cdeb1f7f662a4a3e763b69b3a5.tar.bz2
Fix url encoded query generation, when there's no name/value pairs.
Diffstat (limited to 'render')
-rw-r--r--render/form.c9
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;
}