From d5480c580768012292c09198d8e3afdb3fd59235 Mon Sep 17 00:00:00 2001 From: konn Date: Fri, 18 Jul 2008 06:34:13 +0000 Subject: [PATCH] * Added select tag with CSS for CHTML3.0 converter. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/sandbox@3001 1a406e8e-add9-4483-a2c8-d8cac5b7c224 --- src/chxj_chtml10.c | 2 +- src/chxj_chtml20.c | 2 +- src/chxj_chtml30.c | 18 ++++++++++++++++-- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/src/chxj_chtml10.c b/src/chxj_chtml10.c index 2fb18143..703cdd3e 100644 --- a/src/chxj_chtml10.c +++ b/src/chxj_chtml10.c @@ -2781,7 +2781,7 @@ s_chtml10_start_select_tag(void *pdoc, Node *node) /*--------------------------------------------------------------------*/ size = apr_pstrdup(doc->buf.pool, val); } - else if (strcasecmp(nm, "style") == 0) { + else if (strcasecmp(nm, "style") == 0 && val && *val) { /*--------------------------------------------------------------------*/ /* CHTML 1.0 version 2.0 */ /*--------------------------------------------------------------------*/ diff --git a/src/chxj_chtml20.c b/src/chxj_chtml20.c index fd401161..7980f5ac 100644 --- a/src/chxj_chtml20.c +++ b/src/chxj_chtml20.c @@ -2677,7 +2677,7 @@ s_chtml20_start_select_tag(void *pdoc, Node *node) /*--------------------------------------------------------------------*/ size = apr_pstrdup(doc->buf.pool, val); } - else if (strcasecmp(nm, "style") == 0) { + else if (strcasecmp(nm, "style") == 0 && val && *val) { /*--------------------------------------------------------------------*/ /* CHTML 1.0 version 2.0 */ /*--------------------------------------------------------------------*/ diff --git a/src/chxj_chtml30.c b/src/chxj_chtml30.c index 3be8c883..386dc431 100644 --- a/src/chxj_chtml30.c +++ b/src/chxj_chtml30.c @@ -2261,7 +2261,7 @@ s_chtml30_end_img_tag(void *pdoc, Node *UNUSED(child)) * @return The conversion result is returned. */ static char * -s_chtml30_start_select_tag(void *pdoc, Node *child) +s_chtml30_start_select_tag(void *pdoc, Node *node) { chtml30_t *chtml30 = GET_CHTML30(pdoc); Doc *doc = chtml30->doc; @@ -2269,9 +2269,10 @@ s_chtml30_start_select_tag(void *pdoc, Node *child) char *name = NULL; char *multiple = NULL; Attr *attr; + char *attr_style = NULL; W_L("buf.pool, val); } + else if (STRCASEEQ('s','S',"style", nm) && val && *val) { + /*----------------------------------------------------------------------*/ + /* CHTML 1.0 version 2.0 */ + /*----------------------------------------------------------------------*/ + attr_style = apr_pstrdup(doc->buf.pool, val); + } else if (STRCASEEQ('n','N',"name", nm)) { /*----------------------------------------------------------------------*/ /* CHTML 1.0 version 2.0 */ @@ -2309,6 +2316,9 @@ s_chtml30_start_select_tag(void *pdoc, Node *child) W_L(" multiple"); } W_L(">"); + if (IS_CSS_ON(chtml30->entryp)) { + s_chtml30_push_and_get_now_style(pdoc, node, attr_style); + } return chtml30->out; } @@ -2328,6 +2338,10 @@ s_chtml30_end_select_tag(void *pdoc, Node *UNUSED(child)) Doc *doc = chtml30->doc; W_L(""); + if (IS_CSS_ON(chtml30->entryp)) { + chxj_css_pop_prop_list(chtml30->css_prop_stack); + } + return chtml30->out; } -- 2.11.0