diff options
author | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-09-09 19:47:31 +0100 |
---|---|---|
committer | Chris Young <chris@unsatisfactorysoftware.co.uk> | 2012-09-09 19:47:31 +0100 |
commit | f8b2e2233278e8087adece20908bec8e5823a900 (patch) | |
tree | 6a30df8693072c785e007735cdebfa544d63b4cf | |
parent | 5852693cca72af863df4120c2b9de2f3e1f2deb1 (diff) | |
parent | 3e549fde3eb07bf9bc696a701035de29d8b2cd96 (diff) | |
download | netsurf-f8b2e2233278e8087adece20908bec8e5823a900.tar.gz netsurf-f8b2e2233278e8087adece20908bec8e5823a900.tar.bz2 |
Merge branch 'master' of git://git.netsurf-browser.org/netsurf
-rw-r--r-- | render/form.c | 3 | ||||
-rw-r--r-- | render/html_forms.c | 15 |
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; } } |