OSDN Git Service

input@istyle for XHTML(ez,y!)
[modchxj/mod_chxj.git] / src / chxj_chtml40.c
index 09cdd84..19302cc 100644 (file)
@@ -23,6 +23,7 @@
 #include "chxj_qr_code.h"
 #include "chxj_encoding.h"
 #include "chxj_header_inf.h"
+#include "chxj_conv_z2h.h"
 
 #define GET_CHTML40(X) ((chtml40_t *)(X))
 #undef W_L
@@ -318,6 +319,11 @@ tag_handler chtml40_handler[] = {
     s_chtml40_chxjif_tag,
     NULL,
   },
+  /* tagCHXJRAW */
+  {
+    s_chtml40_chxjif_tag,
+    NULL,
+  },
   /* tagNOBR */
   {
     NULL,
@@ -621,7 +627,7 @@ chxj_chtml40_emoji_only_converter(request_rec *r, device_table *spec, const char
   chtml40 = &__chtml40;
   doc     = &__doc;
 
-  DBG(r, "REQ[%X] start chxj_chtml40_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
+  DBG(r, "REQ[%X] start chxj_chtml40_emoji_eonly_converter()", (unsigned int)(apr_size_t)r);
   memset(doc,     0, sizeof(Doc));
   memset(chtml40, 0, sizeof(chtml40_t));
 
@@ -662,7 +668,7 @@ chxj_chtml40_emoji_only_converter(request_rec *r, device_table *spec, const char
   }
   chtml40->out = chxj_buffered_write_flush(chtml40->out, &doc->buf);
 
-  DBG(r, "REQ[%X] end chxj_chtml40_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
+  DBG(r, "REQ[%X] end chxj_chtml40_emoji_eonly_converter()", (unsigned int)(apr_size_t)r);
   return chtml40->out;
 }
 
@@ -1819,6 +1825,11 @@ s_chtml40_start_input_tag(void *pdoc, Node *node)
     W_L("\"");
   }
   if (attr_value) {
+    if (attr_type && (STRCASEEQ('s','S',"submit",attr_type) || STRCASEEQ('r','R',"reset",attr_type))) {
+      apr_size_t value_len = strlen(attr_value);
+      attr_value = chxj_conv_z2h(r, attr_value, &value_len, chtml40->entryp);
+    }
+
     W_L(" value=\"");
     W_V(chxj_add_slash_to_doublequote(doc->pool, attr_value));
     W_L("\"");
@@ -3929,6 +3940,7 @@ s_chtml40_text_tag(void *pdoc, Node *child)
   char        one_byte[2];
   int         ii;
   int         tdst_len;
+  apr_size_t  z2h_input_len;
 
   chtml40 = GET_CHTML40(pdoc);
   doc     = chtml40->doc;
@@ -3975,6 +3987,8 @@ s_chtml40_text_tag(void *pdoc, Node *child)
       tdst = qs_out_apr_pstrcat(r, tdst, one_byte, &tdst_len);
     }
   }
+  z2h_input_len = strlen(tdst);
+  tdst = chxj_conv_z2h(r, tdst, &z2h_input_len, chtml40->entryp);
   W_V(tdst);
   return chtml40->out;
 }