diff options
author | John Mark Bell <jmb@netsurf-browser.org> | 2004-03-21 20:07:14 +0000 |
---|---|---|
committer | John Mark Bell <jmb@netsurf-browser.org> | 2004-03-21 20:07:14 +0000 |
commit | 3aeafecd7b547e3f535fb5a700fc20e590dab967 (patch) | |
tree | 3a903ee55002a0d5553bfae7d31adbc028b24897 /render/form.c | |
parent | 423f0f1e7068ba4874435c02e31b054e62ae7966 (diff) | |
download | netsurf-3aeafecd7b547e3f535fb5a700fc20e590dab967.tar.gz netsurf-3aeafecd7b547e3f535fb5a700fc20e590dab967.tar.bz2 |
[project @ 2004-03-21 20:07:14 by jmb]
<input type="file" support>
Broken in places.
svn path=/import/netsurf/; revision=645
Diffstat (limited to 'render/form.c')
-rw-r--r-- | render/form.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/render/form.c b/render/form.c index 6eee708b2..145ef68bd 100644 --- a/render/form.c +++ b/render/form.c @@ -11,10 +11,12 @@ */ #include <assert.h> +#include <stdio.h> #include <string.h> #include "curl/curl.h" #include "netsurf/render/box.h" #include "netsurf/render/form.h" +#include "netsurf/utils/log.h" #include "netsurf/utils/utils.h" @@ -79,6 +81,7 @@ struct form_successful_control *form_successful_controls(struct form *form, option = option->next) { if (option->selected) { success_new = xcalloc(1, sizeof(*success_new)); + success_new->file = false; success_new->name = xstrdup(control->name); success_new->value = xstrdup(option->value); success_new->next = 0; @@ -92,6 +95,7 @@ struct form_successful_control *form_successful_controls(struct form *form, /* textarea */ if (control->type == GADGET_TEXTAREA) { success_new = xcalloc(1, sizeof(*success_new)); + success_new->file = false; success_new->name = xstrdup(control->name); success_new->value = form_textarea_value(control); success_new->next = 0; @@ -105,6 +109,7 @@ struct form_successful_control *form_successful_controls(struct form *form, unsigned int len = strlen(control->name) + 3; /* x */ success_new = xcalloc(1, sizeof(*success_new)); + success_new->file = false; success_new->name = xcalloc(1, len); sprintf(success_new->name, "%s.x", control->name); success_new->value = xcalloc(1, 20); @@ -114,6 +119,7 @@ struct form_successful_control *form_successful_controls(struct form *form, last_success = success_new; /* y */ success_new = xcalloc(1, sizeof(*success_new)); + success_new->file = false; success_new->name = xcalloc(1, len); sprintf(success_new->name, "%s.y", control->name); success_new->value = xcalloc(1, 20); @@ -127,9 +133,22 @@ struct form_successful_control *form_successful_controls(struct form *form, if (control->type == GADGET_RESET) continue; + /* file */ + if (control->type == GADGET_FILE) { + success_new = xcalloc(1, sizeof(*success_new)); + success_new->file = true; + success_new->name = xstrdup(control->name); + success_new->value = xstrdup(control->value); + success_new->next = 0; + last_success->next = success_new; + last_success = success_new; + continue; + } + /* all others added if they have a value */ if (control->value) { success_new = xcalloc(1, sizeof(*success_new)); + success_new->file = false; success_new->name = xstrdup(control->name); success_new->value = xstrdup(control->value); success_new->next = 0; |