From c2e1683a5ef24b6e75bbe45f064691b270148b7c Mon Sep 17 00:00:00 2001 From: konn Date: Thu, 10 Apr 2008 14:56:32 +0000 Subject: [PATCH] * Added
tag to CHTML3.0 converter. git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/RELEASE_0_11_0@2104 1a406e8e-add9-4483-a2c8-d8cac5b7c224 --- src/chxj_chtml30.c | 644 +++++++++++++++++++++++++++-------------------------- 1 file changed, 334 insertions(+), 310 deletions(-) diff --git a/src/chxj_chtml30.c b/src/chxj_chtml30.c index 47f93793..c54c4edd 100644 --- a/src/chxj_chtml30.c +++ b/src/chxj_chtml30.c @@ -24,76 +24,80 @@ #include "chxj_encoding.h" #define GET_CHTML30(X) ((chtml30_t*)(X)) -#define W30_L(X) do { chtml30->out = BUFFERED_WRITE_LITERAL(chtml30->out, &doc->buf, (X)); } while(0) -#define W30_V(X) do { chtml30->out = (X) ? BUFFERED_WRITE_VALUE(chtml30->out, &doc->buf, (X)) \ +#undef W_L +#undef W_V +#define W_L(X) do { chtml30->out = BUFFERED_WRITE_LITERAL(chtml30->out, &doc->buf, (X)); } while(0) +#define W_V(X) do { chtml30->out = (X) ? BUFFERED_WRITE_VALUE(chtml30->out, &doc->buf, (X)) \ : BUFFERED_WRITE_LITERAL(chtml30->out, &doc->buf, ""); } while(0) -static char* s_chtml30_start_html_tag (void* pdoc, Node* node); -static char* s_chtml30_end_html_tag (void* pdoc, Node* node); -static char* s_chtml30_start_meta_tag (void* pdoc, Node* node); -static char* s_chtml30_end_meta_tag (void* pdoc, Node* node); -static char* s_chtml30_start_textarea_tag (void* pdoc, Node* node); -static char* s_chtml30_end_textarea_tag (void* pdoc, Node* node); -static char* s_chtml30_start_p_tag (void* pdoc, Node* node); -static char* s_chtml30_end_p_tag (void* pdoc, Node* node); -static char* s_chtml30_start_pre_tag (void* pdoc, Node* node); -static char* s_chtml30_end_pre_tag (void* pdoc, Node* node); -static char* s_chtml30_start_h1_tag (void* pdoc, Node* node); -static char* s_chtml30_end_h1_tag (void* pdoc, Node* node); -static char* s_chtml30_start_h2_tag (void* pdoc, Node* node); -static char* s_chtml30_end_h2_tag (void* pdoc, Node* node); -static char* s_chtml30_start_h3_tag (void* pdoc, Node* node); -static char* s_chtml30_end_h3_tag (void* pdoc, Node* node); -static char* s_chtml30_start_h4_tag (void* pdoc, Node* node); -static char* s_chtml30_end_h4_tag (void* pdoc, Node* node); -static char* s_chtml30_start_h5_tag (void* pdoc, Node* node); -static char* s_chtml30_end_h5_tag (void* pdoc, Node* node); -static char* s_chtml30_start_h6_tag (void* pdoc, Node* node); -static char* s_chtml30_end_h6_tag (void* pdoc, Node* node); -static char* s_chtml30_start_ul_tag (void* pdoc, Node* node); -static char* s_chtml30_end_ul_tag (void* pdoc, Node* node); -static char* s_chtml30_start_ol_tag (void* pdoc, Node* node); -static char* s_chtml30_end_ol_tag (void* pdoc, Node* node); -static char* s_chtml30_start_li_tag (void* pdoc, Node* node); -static char* s_chtml30_end_li_tag (void* pdoc, Node* node); -static char* s_chtml30_start_head_tag (void* pdoc, Node* node); -static char* s_chtml30_end_head_tag (void* pdoc, Node* node); -static char* s_chtml30_start_title_tag (void* pdoc, Node* node); -static char* s_chtml30_end_title_tag (void* pdoc, Node* node); -static char* s_chtml30_start_base_tag (void* pdoc, Node* node); -static char* s_chtml30_end_base_tag (void* pdoc, Node* node); -static char* s_chtml30_start_body_tag (void* pdoc, Node* node); -static char* s_chtml30_end_body_tag (void* pdoc, Node* node); -static char* s_chtml30_start_a_tag (void* pdoc, Node* node); -static char* s_chtml30_end_a_tag (void* pdoc, Node* node); -static char* s_chtml30_start_br_tag (void* pdoc, Node* node); -static char* s_chtml30_end_br_tag (void* pdoc, Node* node); -static char* s_chtml30_start_tr_tag (void* pdoc, Node* node); -static char* s_chtml30_end_tr_tag (void* pdoc, Node* node); -static char* s_chtml30_start_font_tag (void* pdoc, Node* node); -static char* s_chtml30_end_font_tag (void* pdoc, Node* node); -static char* s_chtml30_start_form_tag (void* pdoc, Node* node); -static char* s_chtml30_end_form_tag (void* pdoc, Node* node); -static char* s_chtml30_start_input_tag (void* pdoc, Node* node); -static char* s_chtml30_end_input_tag (void* pdoc, Node* node); -static char* s_chtml30_start_center_tag (void* pdoc, Node* node); -static char* s_chtml30_end_center_tag (void* pdoc, Node* node); -static char* s_chtml30_start_hr_tag (void* pdoc, Node* node); -static char* s_chtml30_end_hr_tag (void* pdoc, Node* node); -static char* s_chtml30_start_img_tag (void* pdoc, Node* node); -static char* s_chtml30_end_img_tag (void* pdoc, Node* node); -static char* s_chtml30_start_select_tag (void* pdoc, Node* node); -static char* s_chtml30_end_select_tag (void* pdoc, Node* node); -static char* s_chtml30_start_option_tag (void* pdoc, Node* node); -static char* s_chtml30_end_option_tag (void* pdoc, Node* node); -static char* s_chtml30_start_div_tag (void* pdoc, Node* node); -static char* s_chtml30_end_div_tag (void* pdoc, Node* node); -static char* s_chtml30_chxjif_tag (void* pdoc, Node* node); -static char* s_chtml30_text_tag (void* pdoc, Node* node); - -static void s_init_chtml30(chtml30_t* chtml, Doc* doc, request_rec* r, device_table* spec); - -static int s_chtml30_search_emoji(chtml30_t* chtml, char* txt, char** rslt); +static char *s_chtml30_start_html_tag (void *pdoc, Node *node); +static char *s_chtml30_end_html_tag (void *pdoc, Node *node); +static char *s_chtml30_start_meta_tag (void *pdoc, Node *node); +static char *s_chtml30_end_meta_tag (void *pdoc, Node *node); +static char *s_chtml30_start_textarea_tag (void *pdoc, Node *node); +static char *s_chtml30_end_textarea_tag (void *pdoc, Node *node); +static char *s_chtml30_start_p_tag (void *pdoc, Node *node); +static char *s_chtml30_end_p_tag (void *pdoc, Node *node); +static char *s_chtml30_start_pre_tag (void *pdoc, Node *node); +static char *s_chtml30_end_pre_tag (void *pdoc, Node *node); +static char *s_chtml30_start_h1_tag (void *pdoc, Node *node); +static char *s_chtml30_end_h1_tag (void *pdoc, Node *node); +static char *s_chtml30_start_h2_tag (void *pdoc, Node *node); +static char *s_chtml30_end_h2_tag (void *pdoc, Node *node); +static char *s_chtml30_start_h3_tag (void *pdoc, Node *node); +static char *s_chtml30_end_h3_tag (void *pdoc, Node *node); +static char *s_chtml30_start_h4_tag (void *pdoc, Node *node); +static char *s_chtml30_end_h4_tag (void *pdoc, Node *node); +static char *s_chtml30_start_h5_tag (void *pdoc, Node *node); +static char *s_chtml30_end_h5_tag (void *pdoc, Node *node); +static char *s_chtml30_start_h6_tag (void *pdoc, Node *node); +static char *s_chtml30_end_h6_tag (void *pdoc, Node *node); +static char *s_chtml30_start_ul_tag (void *pdoc, Node *node); +static char *s_chtml30_end_ul_tag (void *pdoc, Node *node); +static char *s_chtml30_start_ol_tag (void *pdoc, Node *node); +static char *s_chtml30_end_ol_tag (void *pdoc, Node *node); +static char *s_chtml30_start_li_tag (void *pdoc, Node *node); +static char *s_chtml30_end_li_tag (void *pdoc, Node *node); +static char *s_chtml30_start_head_tag (void *pdoc, Node *node); +static char *s_chtml30_end_head_tag (void *pdoc, Node *node); +static char *s_chtml30_start_title_tag (void *pdoc, Node *node); +static char *s_chtml30_end_title_tag (void *pdoc, Node *node); +static char *s_chtml30_start_base_tag (void *pdoc, Node *node); +static char *s_chtml30_end_base_tag (void *pdoc, Node *node); +static char *s_chtml30_start_body_tag (void *pdoc, Node *node); +static char *s_chtml30_end_body_tag (void *pdoc, Node *node); +static char *s_chtml30_start_a_tag (void *pdoc, Node *node); +static char *s_chtml30_end_a_tag (void *pdoc, Node *node); +static char *s_chtml30_start_br_tag (void *pdoc, Node *node); +static char *s_chtml30_end_br_tag (void *pdoc, Node *node); +static char *s_chtml30_start_tr_tag (void *pdoc, Node *node); +static char *s_chtml30_end_tr_tag (void *pdoc, Node *node); +static char *s_chtml30_start_font_tag (void *pdoc, Node *node); +static char *s_chtml30_end_font_tag (void *pdoc, Node *node); +static char *s_chtml30_start_form_tag (void *pdoc, Node *node); +static char *s_chtml30_end_form_tag (void *pdoc, Node *node); +static char *s_chtml30_start_input_tag (void *pdoc, Node *node); +static char *s_chtml30_end_input_tag (void *pdoc, Node *node); +static char *s_chtml30_start_center_tag (void *pdoc, Node *node); +static char *s_chtml30_end_center_tag (void *pdoc, Node *node); +static char *s_chtml30_start_hr_tag (void *pdoc, Node *node); +static char *s_chtml30_end_hr_tag (void *pdoc, Node *node); +static char *s_chtml30_start_img_tag (void *pdoc, Node *node); +static char *s_chtml30_end_img_tag (void *pdoc, Node *node); +static char *s_chtml30_start_select_tag (void *pdoc, Node *node); +static char *s_chtml30_end_select_tag (void *pdoc, Node *node); +static char *s_chtml30_start_option_tag (void *pdoc, Node *node); +static char *s_chtml30_end_option_tag (void *pdoc, Node *node); +static char *s_chtml30_start_div_tag (void *pdoc, Node *node); +static char *s_chtml30_end_div_tag (void *pdoc, Node *node); +static char *s_chtml30_chxjif_tag (void *pdoc, Node *node); +static char *s_chtml30_text_tag (void *pdoc, Node *node); +static char *s_chtml30_start_blockquote_tag(void *pdoc, Node *node); +static char *s_chtml30_end_blockquote_tag (void *pdoc, Node *node); + +static void s_init_chtml30(chtml30_t *chtml, Doc *doc, request_rec *r, device_table *spec); + +static int s_chtml30_search_emoji(chtml30_t *chtml, char *txt, char **rslt); tag_handler chtml30_handler[] = { @@ -324,8 +328,8 @@ tag_handler chtml30_handler[] = { }, /* tagBLOCKQUOTE */ { - NULL, - NULL, + s_chtml30_start_blockquote_tag, + s_chtml30_end_blockquote_tag, }, /* tagDIR */ { @@ -562,12 +566,7 @@ s_chtml30_start_html_tag(void* pdoc, Node* UNUSED(node)) /*--------------------------------------------------------------------------*/ /* start HTML tag */ /*--------------------------------------------------------------------------*/ -#if 0 - chtml30->out = apr_pstrcat(r->pool, chtml30->out, "\n", NULL); -#else - W30_L("\n"); -#endif - + W_L(""); return chtml30->out; } @@ -591,12 +590,7 @@ s_chtml30_end_html_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; -#if 0 - chtml30->out = apr_pstrcat(r->pool, chtml30->out, "\n", NULL); -#else - W30_L("\n"); -#endif - + W_L(""); return chtml30->out; } @@ -626,7 +620,7 @@ s_chtml30_start_meta_tag(void* pdoc, Node* node) content_type_flag = 0; refresh_flag = 0; - W30_L("cookie); - W30_L(" "); - W30_V(name); - W30_L("=\""); - W30_V(sec); - W30_L(";"); - W30_V(url); - W30_L("\""); + W_L(" "); + W_V(name); + W_L("=\""); + W_V(sec); + W_L(";"); + W_V(url); + W_L("\""); } } else { - W30_L(" "); - W30_V(name); - W30_L("=\""); - W30_V(value); - W30_L("\""); + W_L(" "); + W_V(name); + W_L("=\""); + W_V(value); + W_L("\""); } } break; @@ -706,7 +700,7 @@ s_chtml30_start_meta_tag(void* pdoc, Node* node) } } - W30_L(">"); + W_L(">"); return chtml30->out; } @@ -750,7 +744,7 @@ s_chtml30_start_head_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("\r\n"); + W_L(""); return chtml30->out; } @@ -764,8 +758,8 @@ s_chtml30_start_head_tag(void* pdoc, Node* UNUSED(node)) * @param node [i] The HEAD tag node is specified. * @return The conversion result is returned. */ -static char* -s_chtml30_end_head_tag(void* pdoc, Node* UNUSED(node)) +static char * +s_chtml30_end_head_tag(void *pdoc, Node *UNUSED(node)) { chtml30_t* chtml30; Doc* doc; @@ -775,7 +769,7 @@ s_chtml30_end_head_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("\r\n"); + W_L(""); return chtml30->out; } @@ -800,7 +794,7 @@ s_chtml30_start_title_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L(""); + W_L("<title>"); return chtml30->out; } @@ -825,7 +819,7 @@ s_chtml30_end_title_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("\r\n"); + W_L("\r\n"); return chtml30->out; } @@ -839,42 +833,34 @@ s_chtml30_end_title_tag(void* pdoc, Node* UNUSED(child)) * @param node [i] The BASE tag node is specified. * @return The conversion result is returned. */ -static char* -s_chtml30_start_base_tag(void* pdoc, Node* node) +static char * +s_chtml30_start_base_tag(void *pdoc, Node *node) { - Attr* attr; - chtml30_t* chtml30; - Doc* doc; - request_rec* r; + Attr *attr; + chtml30_t *chtml30; + Doc *doc; + request_rec *r; chtml30 = GET_CHTML30(pdoc); doc = chtml30->doc; r = doc->r; - W30_L("\r\n"); - + W_L(">"); return chtml30->out; } @@ -906,21 +892,20 @@ s_chtml30_end_base_tag(void* pdoc, Node* UNUSED(child)) * @param node [i] The BODY tag node is specified. * @return The conversion result is returned. */ -static char* -s_chtml30_start_body_tag(void* pdoc, Node* node) +static char * +s_chtml30_start_body_tag(void *pdoc, Node *node) { - chtml30_t* chtml30; - Doc* doc; - request_rec* r; - Attr* attr; + chtml30_t *chtml30; + Doc *doc; + request_rec *r; + Attr *attr; chtml30 = GET_CHTML30(pdoc); doc = chtml30->doc; r = doc->r; - W30_L("\r\n"); - + W_L(">"); return chtml30->out; } @@ -985,18 +968,18 @@ s_chtml30_start_body_tag(void* pdoc, Node* node) * @param node [i] The BODY tag node is specified. * @return The conversion result is returned. */ -static char* -s_chtml30_end_body_tag(void* pdoc, Node* UNUSED(child)) +static char * +s_chtml30_end_body_tag(void *pdoc, Node *UNUSED(child)) { - chtml30_t* chtml30; - Doc* doc; - request_rec* r; + chtml30_t *chtml30; + Doc *doc; + request_rec *r; chtml30 = GET_CHTML30(pdoc); doc = chtml30->doc; r = doc->r; - W30_L("\r\n"); + W_L(""); return chtml30->out; } @@ -1022,7 +1005,7 @@ s_chtml30_start_a_tag(void* pdoc, Node* node) doc = chtml30->doc; r = doc->r; - W30_L("cookie); - W30_L(" href=\""); - W30_V(value); - W30_L("\""); + W_L(" href=\""); + W_V(value); + W_L("\""); } else if (STRCASEEQ('a','A',"accesskey", name)) { /*----------------------------------------------------------------------*/ /* CHTML1.0 */ /*----------------------------------------------------------------------*/ - W30_L(" accesskey=\""); - W30_V(value); - W30_L("\""); + W_L(" accesskey=\""); + W_V(value); + W_L("\""); } else if (STRCASEEQ('c','C',"cti", name)) { /*----------------------------------------------------------------------*/ /* CHTML 2.0 */ /*----------------------------------------------------------------------*/ - W30_L(" cti=\""); - W30_V(value); - W30_L("\""); + W_L(" cti=\""); + W_V(value); + W_L("\""); } else if (STRCASEEQ('i','I',"ijam", name)) { /*----------------------------------------------------------------------*/ @@ -1082,7 +1065,7 @@ s_chtml30_start_a_tag(void* pdoc, Node* node) /* CHTML 3.0 */ /* It is special only for CHTML. */ /*----------------------------------------------------------------------*/ - W30_L(" utn "); + W_L(" utn "); } else if (STRCASEEQ('t','T',"telbook", name)) { /*----------------------------------------------------------------------*/ @@ -1128,7 +1111,7 @@ s_chtml30_start_a_tag(void* pdoc, Node* node) } } - W30_L(">"); + W_L(">"); return chtml30->out; } @@ -1153,7 +1136,7 @@ s_chtml30_end_a_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L(""); + W_L(""); return chtml30->out; } @@ -1178,7 +1161,7 @@ s_chtml30_start_br_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("
\r\n"); + W_L("
\r\n"); return chtml30->out; } @@ -1241,7 +1224,7 @@ s_chtml30_end_tr_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("
\r\n"); + W_L("
\r\n"); return chtml30->out; } @@ -1267,7 +1250,7 @@ s_chtml30_start_font_tag(void* pdoc, Node* node) doc = chtml30->doc; r = doc->r; - W30_L(""); + W_L(">"); return chtml30->out; } @@ -1320,7 +1303,7 @@ s_chtml30_end_font_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L(""); + W_L(""); return chtml30->out; } @@ -1346,7 +1329,7 @@ s_chtml30_start_form_tag(void* pdoc, Node* node) doc = chtml30->doc; r = doc->r; - W30_L("cookie); - W30_L(" action=\""); - W30_V(value); - W30_L("\""); + W_L(" action=\""); + W_V(value); + W_L("\""); } else if (STRCASEEQ('m','M',"method", name)) { /*----------------------------------------------------------------------*/ /* CHTML 1.0 */ /*----------------------------------------------------------------------*/ - W30_L(" method=\""); - W30_V(value); - W30_L("\""); + W_L(" method=\""); + W_V(value); + W_L("\""); } else if (STRCASEEQ('u','U',"utn", name)) { /*----------------------------------------------------------------------*/ /* CHTML 3.0 */ /* It is special only for CHTML. */ /*----------------------------------------------------------------------*/ - W30_L(" utn "); + W_L(" utn "); } } - W30_L(">"); + W_L(">"); return chtml30->out; } @@ -1413,7 +1396,7 @@ s_chtml30_end_form_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L(""); + W_L(""); return chtml30->out; } @@ -1447,7 +1430,7 @@ s_chtml30_start_input_tag(void* pdoc, Node* node) r = doc->r; - W30_L("buf.pool, " maxlength=\"%d\"", chxj_atoi(max_length) * 2); - W30_V(vv); + W_V(vv); } else { char *vv = apr_psprintf(doc->buf.pool, " maxlength=\"%d\"", chxj_atoi(max_length)); - W30_V(vv); + W_V(vv); } } if (checked) { - W30_L(" checked "); + W_L(" checked "); } - W30_L(" >"); + W_L(" >"); return chtml30->out; } @@ -1566,7 +1549,7 @@ s_chtml30_start_center_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("
"); + W_L("
"); return chtml30->out; } @@ -1591,7 +1574,7 @@ s_chtml30_end_center_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("
"); + W_L("
"); return chtml30->out; } @@ -1617,7 +1600,7 @@ s_chtml30_start_hr_tag(void* pdoc, Node* node) doc = chtml30->doc; r = doc->r; - W30_L("
"); + W_L(" >"); return chtml30->out; } @@ -1714,7 +1697,7 @@ s_chtml30_start_img_tag(void* pdoc, Node* node) spec = chtml30->spec; #endif - W30_L(""); + W_L(">"); return chtml30->out; } @@ -1865,7 +1848,7 @@ s_chtml30_start_select_tag(void* pdoc, Node* child) size = NULL; name = NULL; - W30_L("\n"); + W_L(">\n"); return chtml30->out; } @@ -1930,7 +1913,7 @@ s_chtml30_end_select_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("\n"); + W_L("\n"); return chtml30->out; } @@ -1960,7 +1943,7 @@ s_chtml30_start_option_tag(void* pdoc, Node* child) selected = NULL; value = NULL; - W30_L(""); + W_L(">"); return chtml30->out; } @@ -2044,7 +2027,7 @@ s_chtml30_start_div_tag(void *pdoc, Node *child) r = doc->r; align = NULL; - W30_L(""); + W_L(">"); return chtml30->out; } @@ -2091,7 +2074,7 @@ s_chtml30_end_div_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("\n"); + W_L("\n"); return chtml30->out; } @@ -2116,7 +2099,7 @@ s_chtml30_start_ul_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("
    "); + W_L("
      "); return chtml30->out; } @@ -2141,7 +2124,7 @@ s_chtml30_end_ul_tag(void *pdoc, Node *UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("
    "); + W_L("
"); return chtml30->out; } @@ -2167,7 +2150,7 @@ s_chtml30_start_pre_tag(void *pdoc, Node *UNUSED(node)) r = doc->r; chtml30->pre_flag++; - W30_L("
");
+  W_L("
");
 
   return chtml30->out;
 }
@@ -2192,7 +2175,7 @@ s_chtml30_end_pre_tag(void *pdoc, Node *UNUSED(child))
   doc     = chtml30->doc;
   r       = doc->r;
 
-  W30_L("
"); + W_L("
"); chtml30->pre_flag--; return chtml30->out; @@ -2218,7 +2201,7 @@ s_chtml30_start_p_tag(void *pdoc, Node *UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("

"); + W_L("

"); return chtml30->out; } @@ -2243,7 +2226,7 @@ s_chtml30_end_p_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("

"); + W_L("

"); return chtml30->out; } @@ -2268,7 +2251,7 @@ s_chtml30_start_ol_tag(void *pdoc, Node *UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("
    "); + W_L("
      "); return chtml30->out; } @@ -2293,7 +2276,7 @@ s_chtml30_end_ol_tag(void *pdoc, Node *UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("
    "); + W_L("
"); return chtml30->out; } @@ -2318,7 +2301,7 @@ s_chtml30_start_li_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("
  • "); + W_L("
  • "); return chtml30->out; } @@ -2343,7 +2326,7 @@ s_chtml30_end_li_tag(void *pdoc, Node *UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("
  • "); + W_L(""); return chtml30->out; } @@ -2368,7 +2351,7 @@ s_chtml30_start_h1_tag(void *pdoc, Node *UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("

    \r\n"); + W_L("

    \r\n"); return chtml30->out; } @@ -2393,7 +2376,7 @@ s_chtml30_end_h1_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("

    \r\n"); + W_L("\r\n"); return chtml30->out; } @@ -2418,7 +2401,7 @@ s_chtml30_start_h2_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("

    \r\n"); + W_L("

    \r\n"); return chtml30->out; } @@ -2443,7 +2426,7 @@ s_chtml30_end_h2_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("

    \r\n"); + W_L("\r\n"); return chtml30->out; } @@ -2468,7 +2451,7 @@ s_chtml30_start_h3_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("

    \r\n"); + W_L("

    \r\n"); return chtml30->out; } @@ -2493,7 +2476,7 @@ s_chtml30_end_h3_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("

    \r\n"); + W_L("\r\n"); return chtml30->out; } @@ -2518,7 +2501,7 @@ s_chtml30_start_h4_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("

    \r\n"); + W_L("

    \r\n"); return chtml30->out; } @@ -2543,7 +2526,7 @@ s_chtml30_end_h4_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("

    \r\n"); + W_L("\r\n"); return chtml30->out; } @@ -2568,7 +2551,7 @@ s_chtml30_start_h5_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("
    \r\n"); + W_L("
    \r\n"); return chtml30->out; } @@ -2593,7 +2576,7 @@ s_chtml30_end_h5_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("
    \r\n"); + W_L("\r\n"); return chtml30->out; } @@ -2618,7 +2601,7 @@ s_chtml30_start_h6_tag(void* pdoc, Node* UNUSED(node)) doc = chtml30->doc; r = doc->r; - W30_L("
    \r\n"); + W_L("
    \r\n"); return chtml30->out; } @@ -2643,7 +2626,7 @@ s_chtml30_end_h6_tag(void* pdoc, Node* UNUSED(child)) doc = chtml30->doc; r = doc->r; - W30_L("
    \r\n"); + W_L("\r\n"); return chtml30->out; } @@ -2671,7 +2654,7 @@ s_chtml30_start_textarea_tag(void* pdoc, Node* node) chtml30->textarea_flag++; - W30_L("\r\n"); + W_L("\r\n"); chtml30->textarea_flag--; return chtml30->out; @@ -2744,7 +2727,7 @@ s_chtml30_chxjif_tag(void* pdoc, Node* node) for (child = qs_get_child_node(doc, node); child; child = qs_get_next_node(doc, child)) { - W30_V(child->otext); + W_V(child->otext); s_chtml30_chxjif_tag(chtml30, child); } @@ -2810,8 +2793,49 @@ s_chtml30_text_tag(void* pdoc, Node* child) tdst = qs_out_apr_pstrcat(r, tdst, one_byte, &tdst_len); } } - W30_V(tdst); + W_V(tdst); + + return chtml30->out; +} + + +/** + * It is a handler who processes the BLOCKQUOTE tag. + * + * @param pdoc [i/o] The pointer to the CHTML structure at the output + * destination is specified. + * @param node [i] The BLOCKQUOTE tag node is specified. + * @return The conversion result is returned. + */ +static char * +s_chtml30_start_blockquote_tag(void *pdoc, Node *UNUSED(child)) +{ + chtml30_t *chtml30; + Doc *doc; + chtml30 = GET_CHTML30(pdoc); + doc = chtml30->doc; + W_L("
    "); + return chtml30->out; +} + +/** + * It is a handler who processes the BLOCKQUOTE tag. + * + * @param pdoc [i/o] The pointer to the CHTML structure at the output + * destination is specified. + * @param node [i] The BLOCKQUOTE tag node is specified. + * @return The conversion result is returned. + */ +static char * +s_chtml30_end_blockquote_tag(void *pdoc, Node *UNUSED(child)) +{ + chtml30_t *chtml30; + Doc *doc; + + chtml30 = GET_CHTML30(pdoc); + doc = chtml30->doc; + W_L("
    "); return chtml30->out; } -- 2.11.0