OSDN Git Service

Merge branch 'master' into branch_0.13.0
[modchxj/mod_chxj.git] / src / chxj_xhtml_mobile_1_0.c
index 068e9f9..f7f3bec 100644 (file)
@@ -24,6 +24,7 @@
 #include "chxj_buffered_write.h"
 #include "chxj_str_util.h"
 #include "chxj_header_inf.h"
+#include "chxj_conv_z2h.h"
 
 #define GET_XHTML(X) ((xhtml_t*)(X))
 #undef W_L
@@ -301,6 +302,11 @@ tag_handler xhtml_handler[] = {
     s_xhtml_1_0_chxjif_tag,
     NULL,
   },
+  /* tagCHXJRAW */
+  {
+    s_xhtml_1_0_chxjif_tag,
+    NULL,
+  },
   /* tagNOBR */
   {
     NULL,
@@ -677,7 +683,7 @@ chxj_xhtml_emoji_only_converter(request_rec *r, device_table *spec, const char *
   xhtml = &__xhtml;
   doc   = &__doc;
 
-  DBG(r, "REQ[%X] start chxj_xhtml_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
+  DBG(r, "REQ[%X] start chxj_xhtml_emoji_eonly_converter()", (unsigned int)(apr_size_t)r);
   memset(doc,     0, sizeof(Doc));
   memset(xhtml, 0, sizeof(xhtml_t));
 
@@ -718,7 +724,7 @@ chxj_xhtml_emoji_only_converter(request_rec *r, device_table *spec, const char *
   }
   xhtml->out = chxj_buffered_write_flush(xhtml->out, &doc->buf);
 
-  DBG(r, "REQ[%X] end chxj_xhtml_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
+  DBG(r, "REQ[%X] end chxj_xhtml_emoji_eonly_converter()", (unsigned int)(apr_size_t)r);
   return xhtml->out;
 }
 
@@ -1896,6 +1902,11 @@ s_xhtml_1_0_start_input_tag(void *pdoc, Node *node)
     W_L("\"");
   }
   if (value && *value) {
+    if (type && (STRCASEEQ('s','S',"submit",type) || STRCASEEQ('r','R',"reset",type))) {
+      apr_size_t value_len = strlen(value);
+      value = chxj_conv_z2h(r, value, &value_len, xhtml->entryp);
+    }
+
     W_L(" value=\"");
     W_V(chxj_add_slash_to_doublequote(doc->pool, value));
     W_L("\"");
@@ -3992,6 +4003,7 @@ s_xhtml_1_0_text_tag(void *pdoc, Node *child)
   char        one_byte[2];
   int         ii;
   int         tdst_len;
+  apr_size_t  z2h_input_len;
   
   textval = qs_get_node_value(doc,child);
   if (strlen(textval) == 0) {
@@ -4034,6 +4046,9 @@ s_xhtml_1_0_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, xhtml->entryp);
+
   W_V(tdst);
   return xhtml->out;
 }