From ad160766b88a1b258e581bae6740b96c10bc6557 Mon Sep 17 00:00:00 2001 From: Witold Filipczyk Date: Mon, 1 May 2006 19:22:07 +0200 Subject: [PATCH] Added id to the form control. id is used by scripts --- src/document/forms.c | 1 + src/document/forms.h | 1 + src/document/html/parser/forms.c | 5 +++++ 3 files changed, 7 insertions(+) diff --git a/src/document/forms.c b/src/document/forms.c index 328c70d8..f862b37a 100644 --- a/src/document/forms.c +++ b/src/document/forms.c @@ -151,6 +151,7 @@ done_form_control(struct form_control *fc) assert(fc); if_assert_failed return; + mem_free_if(fc->id); mem_free_if(fc->name); mem_free_if(fc->alt); mem_free_if(fc->default_value); diff --git a/src/document/forms.h b/src/document/forms.h index 601e8e2e..764885d8 100644 --- a/src/document/forms.h +++ b/src/document/forms.h @@ -83,6 +83,7 @@ struct form_control { enum form_type type; enum form_mode mode; + unsigned char *id; /* used by scripts */ unsigned char *name; unsigned char *alt; unsigned char *default_value; diff --git a/src/document/html/parser/forms.c b/src/document/html/parser/forms.c index dc2ddbfa..4f1214e6 100644 --- a/src/document/html/parser/forms.c +++ b/src/document/html/parser/forms.c @@ -167,6 +167,7 @@ no_type_attr: fc = init_form_control(type, a, html_context); if (!fc) return; + fc->id = get_attr_val(a, "id", html_context->options); fc->name = get_attr_val(a, "name", html_context->options); fc->default_value = get_attr_val(a, "value", html_context->options); if (!fc->default_value) { @@ -300,6 +301,7 @@ html_input(struct html_context *html_context, unsigned char *a, if (!fc->default_value) fc->default_value = stracpy(""); + fc->id = get_attr_val(a, "id", html_context->options); fc->name = get_attr_val(a, "name", html_context->options); fc->size = get_num(a, "size", html_context->options); @@ -475,6 +477,7 @@ end_parse: goto abort; } + fc->id = get_attr_val(attr, "id", html_context->options); fc->name = get_attr_val(attr, "name", html_context->options); fc->default_state = preselect < 0 ? 0 : preselect; fc->default_value = order ? stracpy(values[fc->default_state]) : stracpy(""); @@ -591,6 +594,7 @@ end_parse: return; } + fc->id = get_attr_val(a, "id", html_context->options); fc->name = null_or_stracpy(format.select); fc->default_value = val; fc->default_state = has_attr(a, "selected", html_context->options); @@ -636,6 +640,7 @@ pp: fc = init_form_control(FC_TEXTAREA, attr, html_context); if (!fc) return; + fc->id = get_attr_val(attr, "id", html_context->options); fc->name = get_attr_val(attr, "name", html_context->options); fc->default_value = memacpy(html, p - html); for (p = fc->default_value; p && p[0]; p++) {