summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Young <chris@unsatisfactorysoftware.co.uk>2012-09-09 19:47:31 +0100
committerChris Young <chris@unsatisfactorysoftware.co.uk>2012-09-09 19:47:31 +0100
commitf8b2e2233278e8087adece20908bec8e5823a900 (patch)
tree6a30df8693072c785e007735cdebfa544d63b4cf
parent5852693cca72af863df4120c2b9de2f3e1f2deb1 (diff)
parent3e549fde3eb07bf9bc696a701035de29d8b2cd96 (diff)
downloadnetsurf-f8b2e2233278e8087adece20908bec8e5823a900.tar.gz
netsurf-f8b2e2233278e8087adece20908bec8e5823a900.tar.bz2
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
-rw-r--r--render/form.c3
-rw-r--r--render/html_forms.c15
2 files changed, 13 insertions, 5 deletions
diff --git a/render/form.c b/render/form.c
index f0596b3d2..05d4042a2 100644
--- a/render/form.c
+++ b/render/form.c
@@ -200,9 +200,6 @@ struct form_control *form_new_control(void *node, form_control_type type)
control->node = node;
control->type = type;
- /* Default max length of input to something insane */
- control->maxlength = UINT_MAX;
-
return control;
}
diff --git a/render/html_forms.c b/render/html_forms.c
index fc2bcaf8a..f5c6600cd 100644
--- a/render/html_forms.c
+++ b/render/html_forms.c
@@ -332,10 +332,21 @@ parse_input_element(struct form *forms, dom_html_input_element *input)
if (control->type == GADGET_PASSWORD ||
control->type == GADGET_TEXTBOX) {
- unsigned long maxlength;
+ long maxlength;
if (dom_html_input_element_get_max_length(
- input, &maxlength) == DOM_NO_ERR) {
+ input, &maxlength) != DOM_NO_ERR) {
+ maxlength = -1;
+ }
+
+ if (maxlength >= 0) {
+ /* Got valid maxlength */
control->maxlength = maxlength;
+ } else {
+ /* Input has no maxlength attr, or
+ * dom_html_input_element_get_max_length failed.
+ *
+ * Set it to something insane. */
+ control->maxlength = UINT_MAX;
}
}