OSDN Git Service

Added device_table parameter.
authorAtsushi Konno <konn@users.sourceforge.jp>
Tue, 3 Mar 2009 04:33:11 +0000 (13:33 +0900)
committerAtsushi Konno <konn@users.sourceforge.jp>
Tue, 3 Mar 2009 04:33:11 +0000 (13:33 +0900)
18 files changed:
include/chxj_chtml10.h
include/chxj_chtml20.h
include/chxj_chtml30.h
include/chxj_chtml40.h
include/chxj_chtml50.h
include/chxj_jhtml.h
include/chxj_jxhtml.h
include/chxj_specified_device.h
include/chxj_xhtml_mobile_1_0.h
src/chxj_chtml10.c
src/chxj_chtml20.c
src/chxj_chtml30.c
src/chxj_chtml40.c
src/chxj_chtml50.c
src/chxj_jhtml.c
src/chxj_jxhtml.c
src/chxj_xhtml_mobile_1_0.c
src/mod_chxj.c

index 9b0eda3..b55d44c 100644 (file)
@@ -53,6 +53,6 @@ extern char *chxj_convert_chtml10(
   cookie_t              *cookie);
 
 
-extern char *chxj_chtml10_emoji_only_converter(request_rec *r, const char *src, apr_size_t len);
+extern char *chxj_chtml10_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
 
 #endif
index d34d1ff..205af2d 100644 (file)
@@ -53,6 +53,6 @@ extern char *chxj_convert_chtml20(
   chxjconvrule_entry    *entryp,
   cookie_t              *cookie);
 
-extern char *chxj_chtml20_emoji_only_converter(request_rec *r, const char *src, apr_size_t len);
+extern char *chxj_chtml20_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
 
 #endif
index 230180a..8c64c3f 100644 (file)
@@ -54,6 +54,6 @@ extern char *chxj_convert_chtml30(
   cookie_t              *cookie);
 
 
-extern char *chxj_chtml30_emoji_only_converter(request_rec *r, const char *src, apr_size_t len);
+extern char *chxj_chtml30_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
 
 #endif
index 411eb41..30db2db 100644 (file)
@@ -53,6 +53,6 @@ extern char *chxj_convert_chtml40(
   chxjconvrule_entry    *entryp,
   cookie_t              *cookie);
 
-extern char *chxj_chtml40_emoji_only_converter(request_rec *r, const char *src, apr_size_t len);
+extern char *chxj_chtml40_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
 
 #endif
index 4459175..7edd1e8 100644 (file)
@@ -54,6 +54,6 @@ extern char *chxj_convert_chtml50(
   cookie_t              *cookie);
 
 
-extern char *chxj_chtml50_emoji_only_converter(request_rec *r, const char *src, apr_size_t len);
+extern char *chxj_chtml50_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
 
 #endif
index 68fbe7f..4e7818f 100644 (file)
@@ -60,6 +60,6 @@ extern char *chxj_convert_jhtml(
   cookie_t                  *cookie);
 
 
-extern char *chxj_jhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len);
+extern char *chxj_jhtml_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
 
 #endif
index 04094a2..aa8696c 100644 (file)
@@ -61,6 +61,6 @@ extern char *chxj_convert_jxhtml(
   cookie_t                  *cookie);
 
 
-extern char *chxj_jxhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len);
+extern char *chxj_jxhtml_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
 
 #endif
index 181fc3f..9d6abd9 100644 (file)
@@ -116,9 +116,10 @@ struct converter_t {
 
 
   char *(*emoji_only_converter)(
-                   request_rec      *r,
-                   const char       *src,
-                   apr_size_t       len);
+                   request_rec           *r,
+                   struct device_table_t *spec,
+                   const char            *src,
+                   apr_size_t            len);
 };
 
 extern converter_t convert_routine[];
index c917b89..b83fb2e 100644 (file)
@@ -52,6 +52,6 @@ extern char *chxj_convert_xhtml_mobile_1_0(
   cookie_t              *cookie);
 
 
-extern char *chxj_xhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len);
+extern char *chxj_xhtml_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len);
 
 #endif
index 153bce9..77168a6 100644 (file)
@@ -575,10 +575,11 @@ s_chtml10_search_emoji(chtml10_t *chtml10, char *txt, char **rslt)
 }
 
 char *
-chxj_chtml10_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
+chxj_chtml10_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len)
 {
   apr_size_t ii;
-  Doc doc;
+  Doc __doc;
+  Doc *doc;
   chtml10_t __chtml10;
   chtml10_t *chtml10;
   char one_byte[2];
@@ -586,6 +587,7 @@ chxj_chtml10_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
   apr_pool_t *pool;
 
   chtml10 = &__chtml10;
+  doc     = &__doc;
 
   DBG(r, "REQ[%X] start chxj_chtml10_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
   memset(doc,     0, sizeof(Doc));
@@ -600,13 +602,13 @@ chxj_chtml10_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
 
   apr_pool_create(&pool, r->pool);
 
-  chxj_buffered_write_init(pool, &doc.buf);
+  chxj_buffered_write_init(pool, &doc->buf);
 
   for (ii=0; ii<len; ii++) {
     char *out;
     int   rtn;
 
-    rtn = s_chtml10_search_emoji(chtml10, &src[ii], &out);
+    rtn = s_chtml10_search_emoji(chtml10, (char *)&src[ii], &out);
     if (rtn) {
       W_V(out);
       ii+=(rtn - 1);
@@ -622,7 +624,7 @@ chxj_chtml10_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
     }
     else {
       one_byte[0] = src[ii+0];
-      one_Byte[1] = 0;
+      one_byte[1] = 0;
       W_V(one_byte);
     }
   }
index 6f12cc2..292d136 100644 (file)
@@ -568,10 +568,11 @@ s_chtml20_search_emoji(chtml20_t *chtml20, char *txt, char **rslt)
 }
 
 char *
-chxj_chtml20_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
+chxj_chtml20_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len)
 {
   apr_size_t ii;
-  Doc doc;
+  Doc __doc;
+  Doc *doc;
   chtml20_t __chtml20;
   chtml20_t *chtml20;
   char one_byte[2];
@@ -579,6 +580,7 @@ chxj_chtml20_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
   apr_pool_t *pool;
 
   chtml20 = &__chtml20;
+  doc     = &__doc;
 
   DBG(r, "REQ[%X] start chxj_chtml20_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
   memset(doc,     0, sizeof(Doc));
@@ -593,13 +595,13 @@ chxj_chtml20_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
 
   apr_pool_create(&pool, r->pool);
 
-  chxj_buffered_write_init(pool, &doc.buf);
+  chxj_buffered_write_init(pool, &doc->buf);
 
   for (ii=0; ii<len; ii++) {
     char *out;
     int   rtn;
 
-    rtn = s_chtml20_search_emoji(chtml20, &src[ii], &out);
+    rtn = s_chtml20_search_emoji(chtml20, (char *)&src[ii], &out);
     if (rtn) {
       W_V(out);
       ii+=(rtn - 1);
@@ -615,7 +617,7 @@ chxj_chtml20_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
     }
     else {
       one_byte[0] = src[ii+0];
-      one_Byte[1] = 0;
+      one_byte[1] = 0;
       W_V(one_byte);
     }
   }
index 95ddc19..1fa8cf7 100644 (file)
@@ -571,10 +571,11 @@ s_chtml30_search_emoji(chtml30_t *chtml30, char *txt, char **rslt)
 
 
 char *
-chxj_chtml30_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
+chxj_chtml30_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len)
 {
   apr_size_t ii;
-  Doc doc;
+  Doc __doc;
+  Doc *doc;
   chtml30_t __chtml30;
   chtml30_t *chtml30;
   char one_byte[2];
@@ -582,6 +583,7 @@ chxj_chtml30_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
   apr_pool_t *pool;
 
   chtml30 = &__chtml30;
+  doc     = &__doc;
 
   DBG(r, "REQ[%X] start chxj_chtml30_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
   memset(doc,     0, sizeof(Doc));
@@ -596,13 +598,13 @@ chxj_chtml30_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
 
   apr_pool_create(&pool, r->pool);
 
-  chxj_buffered_write_init(pool, &doc.buf);
+  chxj_buffered_write_init(pool, &doc->buf);
 
   for (ii=0; ii<len; ii++) {
     char *out;
     int   rtn;
 
-    rtn = s_chtml30_search_emoji(chtml30, &src[ii], &out);
+    rtn = s_chtml30_search_emoji(chtml30, (char *)&src[ii], &out);
     if (rtn) {
       W_V(out);
       ii+=(rtn - 1);
@@ -618,7 +620,7 @@ chxj_chtml30_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
     }
     else {
       one_byte[0] = src[ii+0];
-      one_Byte[1] = 0;
+      one_byte[1] = 0;
       W_V(one_byte);
     }
   }
index bfa7856..ea9baa4 100644 (file)
@@ -571,10 +571,11 @@ s_chtml40_search_emoji(chtml40_t *chtml40, char *txt, char **rslt)
 
 
 char *
-chxj_chtml40_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
+chxj_chtml40_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len)
 {
   apr_size_t ii;
-  Doc doc;
+  Doc __doc;
+  Doc *doc;
   chtml40_t __chtml40;
   chtml40_t *chtml40;
   char one_byte[2];
@@ -582,6 +583,7 @@ chxj_chtml40_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
   apr_pool_t *pool;
 
   chtml40 = &__chtml40;
+  doc     = &__doc;
 
   DBG(r, "REQ[%X] start chxj_chtml40_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
   memset(doc,     0, sizeof(Doc));
@@ -596,13 +598,13 @@ chxj_chtml40_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
 
   apr_pool_create(&pool, r->pool);
 
-  chxj_buffered_write_init(pool, &doc.buf);
+  chxj_buffered_write_init(pool, &doc->buf);
 
   for (ii=0; ii<len; ii++) {
     char *out;
     int   rtn;
 
-    rtn = s_chtml40_search_emoji(chtml40, &src[ii], &out);
+    rtn = s_chtml40_search_emoji(chtml40, (char *)&src[ii], &out);
     if (rtn) {
       W_V(out);
       ii+=(rtn - 1);
@@ -618,7 +620,7 @@ chxj_chtml40_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
     }
     else {
       one_byte[0] = src[ii+0];
-      one_Byte[1] = 0;
+      one_byte[1] = 0;
       W_V(one_byte);
     }
   }
index a3e6075..77fd02d 100644 (file)
@@ -571,10 +571,11 @@ s_chtml50_search_emoji(chtml50_t *chtml50, char *txt, char **rslt)
 
 
 char *
-chxj_chtml50_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
+chxj_chtml50_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len)
 {
   apr_size_t ii;
-  Doc doc;
+  Doc __doc;
+  Doc *doc;
   chtml50_t __chtml50;
   chtml50_t *chtml50;
   char one_byte[2];
@@ -582,6 +583,7 @@ chxj_chtml50_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
   apr_pool_t *pool;
 
   chtml50 = &__chtml50;
+  doc     = &__doc;
 
   DBG(r, "REQ[%X] start chxj_chtml50_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
   memset(doc,     0, sizeof(Doc));
@@ -596,13 +598,13 @@ chxj_chtml50_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
 
   apr_pool_create(&pool, r->pool);
 
-  chxj_buffered_write_init(pool, &doc.buf);
+  chxj_buffered_write_init(pool, &doc->buf);
 
   for (ii=0; ii<len; ii++) {
     char *out;
     int   rtn;
 
-    rtn = s_chtml50_search_emoji(chtml50, &src[ii], &out);
+    rtn = s_chtml50_search_emoji(chtml50, (char *)&src[ii], &out);
     if (rtn) {
       W_V(out);
       ii+=(rtn - 1);
@@ -618,7 +620,7 @@ chxj_chtml50_emoji_only_converter(request_rec *r, const char *src, apr_size_t le
     }
     else {
       one_byte[0] = src[ii+0];
-      one_Byte[1] = 0;
+      one_byte[1] = 0;
       W_V(one_byte);
     }
   }
index 8f114e5..c49a9de 100644 (file)
@@ -591,10 +591,11 @@ s_jhtml_search_emoji(jhtml_t *jhtml, char *txt, char **rslt)
 
 
 char *
-chxj_jhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
+chxj_jhtml_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len)
 {
   apr_size_t ii;
-  Doc doc;
+  Doc __doc;
+  Doc *doc;
   jhtml_t __jhtml;
   jhtml_t *jhtml;
   char one_byte[2];
@@ -602,12 +603,13 @@ chxj_jhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
   apr_pool_t *pool;
 
   jhtml = &__jhtml;
+  doc   = &__doc;
 
   DBG(r, "REQ[%X] start chxj_jhtml_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
-  memset(doc,     0, sizeof(Doc));
+  memset(doc,   0, sizeof(Doc));
   memset(jhtml, 0, sizeof(jhtml_t));
 
-  doc->r        = r;
+  doc->r      = r;
   jhtml->doc  = doc;
   jhtml->spec = spec;
   jhtml->out  = qs_alloc_zero_byte_string(r->pool);
@@ -616,13 +618,13 @@ chxj_jhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
 
   apr_pool_create(&pool, r->pool);
 
-  chxj_buffered_write_init(pool, &doc.buf);
+  chxj_buffered_write_init(pool, &doc->buf);
 
   for (ii=0; ii<len; ii++) {
     char *out;
     int   rtn;
 
-    rtn = s_jhtml_search_emoji(jhtml, &src[ii], &out);
+    rtn = s_jhtml_search_emoji(jhtml, (char *)&src[ii], &out);
     if (rtn) {
       W_V(out);
       ii+=(rtn - 1);
@@ -638,7 +640,7 @@ chxj_jhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
     }
     else {
       one_byte[0] = src[ii+0];
-      one_Byte[1] = 0;
+      one_byte[1] = 0;
       W_V(one_byte);
     }
   }
index 80ac317..6485a6f 100644 (file)
@@ -589,10 +589,11 @@ s_jxhtml_search_emoji(jxhtml_t *jxhtml, char *txt, char **rslt)
 
 
 char *
-chxj_jxhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
+chxj_jxhtml_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len)
 {
   apr_size_t ii;
-  Doc doc;
+  Doc __doc;
+  Doc *doc;
   jxhtml_t __jxhtml;
   jxhtml_t *jxhtml;
   char one_byte[2];
@@ -600,12 +601,13 @@ chxj_jxhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len
   apr_pool_t *pool;
 
   jxhtml = &__jxhtml;
+  doc    = &__doc;
 
   DBG(r, "REQ[%X] start chxj_jxhtml_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
-  memset(doc,     0, sizeof(Doc));
+  memset(doc,    0, sizeof(Doc));
   memset(jxhtml, 0, sizeof(jxhtml_t));
 
-  doc->r        = r;
+  doc->r       = r;
   jxhtml->doc  = doc;
   jxhtml->spec = spec;
   jxhtml->out  = qs_alloc_zero_byte_string(r->pool);
@@ -614,13 +616,13 @@ chxj_jxhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len
 
   apr_pool_create(&pool, r->pool);
 
-  chxj_buffered_write_init(pool, &doc.buf);
+  chxj_buffered_write_init(pool, &doc->buf);
 
   for (ii=0; ii<len; ii++) {
     char *out;
     int   rtn;
 
-    rtn = s_jxhtml_search_emoji(jxhtml, &src[ii], &out);
+    rtn = s_jxhtml_search_emoji(jxhtml, (char *)&src[ii], &out);
     if (rtn) {
       W_V(out);
       ii+=(rtn - 1);
@@ -636,7 +638,7 @@ chxj_jxhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len
     }
     else {
       one_byte[0] = src[ii+0];
-      one_Byte[1] = 0;
+      one_byte[1] = 0;
       W_V(one_byte);
     }
   }
index 7c40c4c..72514f2 100644 (file)
@@ -647,10 +647,11 @@ s_xhtml_search_emoji(xhtml_t *xhtml, char *txt, char **rslt)
 
 
 char *
-chxj_xhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
+chxj_xhtml_emoji_only_converter(request_rec *r, device_table *spec, const char *src, apr_size_t len)
 {
   apr_size_t ii;
-  Doc doc;
+  Doc __doc;
+  Doc *doc;
   xhtml_t __xhtml;
   xhtml_t *xhtml;
   char one_byte[2];
@@ -658,6 +659,7 @@ chxj_xhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
   apr_pool_t *pool;
 
   xhtml = &__xhtml;
+  doc   = &__doc;
 
   DBG(r, "REQ[%X] start chxj_xhtml_emoji_eonly_converter()", (apr_size_t)(unsigned int)r);
   memset(doc,     0, sizeof(Doc));
@@ -672,13 +674,13 @@ chxj_xhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
 
   apr_pool_create(&pool, r->pool);
 
-  chxj_buffered_write_init(pool, &doc.buf);
+  chxj_buffered_write_init(pool, &doc->buf);
 
   for (ii=0; ii<len; ii++) {
     char *out;
     int   rtn;
 
-    rtn = s_xhtml_search_emoji(xhtml, &src[ii], &out);
+    rtn = s_xhtml_search_emoji(xhtml, (char *)&src[ii], &out);
     if (rtn) {
       W_V(out);
       ii+=(rtn - 1);
@@ -694,7 +696,7 @@ chxj_xhtml_emoji_only_converter(request_rec *r, const char *src, apr_size_t len)
     }
     else {
       one_byte[0] = src[ii+0];
-      one_Byte[1] = 0;
+      one_byte[1] = 0;
       W_V(one_byte);
     }
   }
index f541d23..8c7f32a 100644 (file)
@@ -379,7 +379,7 @@ chxj_convert(request_rec *r, const char **src, apr_size_t *len, device_table *sp
    * save cookie.
    */
   cookie = NULL;
-  if (entryp->action & CONVRULE_COOKIE_ON_BIT) {
+  if (entryp->action & CONVRULE_COOKIE_ON_BIT && !(entryp->action & CONVRULE_EMOJI_ONLY_BIT)) {
     switch(spec->html_spec_type) {
     case CHXJ_SPEC_Chtml_1_0:
     case CHXJ_SPEC_Chtml_2_0:
@@ -408,10 +408,10 @@ chxj_convert(request_rec *r, const char **src, apr_size_t *len, device_table *sp
     if (entryp->action & CONVRULE_EMOJI_ONLY_BIT) {
       if (convert_routine[spec->html_spec_type].emoji_only_converter) {
         if (tmp) {
-          dst = convert_routine[spec->html_spec_type].emoji_only_converter(r,tmp,*len);
+          dst = convert_routine[spec->html_spec_type].emoji_only_converter(r,spec, tmp,*len);
         }
         else {
-          dst = convert_routine[spec->html_spec_type].emoji_only_converter(r,*src,*len);
+          dst = convert_routine[spec->html_spec_type].emoji_only_converter(r,spec, *src,*len);
         }
         if (dst != NULL) {
           *len = strlen(dst);