OSDN Git Service

* novice.
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Tue, 1 Apr 2008 10:48:33 +0000 (10:48 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Tue, 1 Apr 2008 10:48:33 +0000 (10:48 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/trunk@1969 1a406e8e-add9-4483-a2c8-d8cac5b7c224

19 files changed:
include/chxj_apply_convrule.h
include/chxj_calc_ecc.h
include/chxj_chtml10.h
include/chxj_chtml20.h
include/chxj_chtml30.h
include/chxj_cookie.h
include/chxj_dump.h
include/chxj_encoding.h
include/chxj_hdml.h
include/chxj_img_conv.h
include/chxj_img_conv_format.h
include/chxj_jhtml.h
include/chxj_load_device_data.h
include/chxj_load_emoji_data.h
include/chxj_qr_code.h
include/chxj_specified_device.h
include/chxj_str_util.h
include/chxj_tag_util.h
src/chxj_chtml10.c

index d5556e9..bfce15c 100644 (file)
@@ -19,9 +19,7 @@
 
 #include "mod_chxj.h"
 
-extern chxjconvrule_entry* chxj_apply_convrule(
-  request_rec*        r, 
-  apr_array_header_t* convrules);
+extern chxjconvrule_entry* chxj_apply_convrule(request_rec *r, apr_array_header_t *convrules);
 
 #endif
 /*
index e66afe2..e32f51e 100644 (file)
 
 #include "chxj_qr_code.h"
 
-extern int chxj_calc_ecc(
-  qr_code_t*              qrcode,
-  unsigned char*          indata, 
-  unsigned char*          dst);
+extern int chxj_calc_ecc(qr_code_t *qrcode, unsigned char *indata, unsigned char *dst);
 
 #endif
 /*
index 5859480..1d2664b 100644 (file)
 typedef struct ctml10_t chtml10_t;
 
 struct ctml10_t {
-    Doc*                doc;
-    char*               out;
-    int                 out_len;
-    int                 pre_flag;
-    int                 textarea_flag;
+    Doc *doc;
+    char *out;
+    int out_len;
+    int pre_flag;
+    int textarea_flag;
 
-    device_table*       spec;
-    mod_chxj_config*    conf;
-    chxjconvrule_entryentryp;
-    cookie_t*           cookie;
+    device_table *spec;
+    mod_chxj_config *conf;
+    chxjconvrule_entry *entryp;
+    cookie_t *cookie;
 };
 
 /*----------------------------------------------------------------------------*/
 /* Prototype                                                                  */
 /*----------------------------------------------------------------------------*/
-extern charchxj_convert_chtml10(
-  request_rec*          r,
-  device_table*         spec, 
-  const char*           src, 
-  apr_size_t            srclen, 
-  apr_size_t*           dstlen, 
-  chxjconvrule_entry*   entryp, 
-  cookie_t*             cookie);
+extern char *chxj_convert_chtml10(
+  request_rec        *r,
+  device_table       *spec, 
+  const char         *src, 
+  apr_size_t         srclen, 
+  apr_size_t         *dstlen, 
+  chxjconvrule_entry *entryp, 
+  cookie_t           *cookie);
 
 #endif
index 3f92c45..912a68d 100644 (file)
 typedef struct ctml20_t chtml20_t;
 
 struct ctml20_t {
-    Doc*                doc;
-    char*               out;
+    Doc                 *doc;
+    char                *out;
     int                 out_len;
     int                 pre_flag;
     int                 textarea_flag;
 
-    device_table*       spec;
-    mod_chxj_config*    conf;
-    chxjconvrule_entryentryp;
-    cookie_t*           cookie;
+    device_table        *spec;
+    mod_chxj_config     *conf;
+    chxjconvrule_entry  *entryp;
+    cookie_t            *cookie;
 };
 
 /*----------------------------------------------------------------------------*/
 /* Prototype                                                                  */
 /*----------------------------------------------------------------------------*/
 extern char* chxj_convert_chtml20(
-  request_rec*          r,
-  device_table*         spec,
-  const char*           src,
+  request_rec           *r,
+  device_table          *spec,
+  const char            *src,
   apr_size_t            srclen,
-  apr_size_t*           dstlen,
-  chxjconvrule_entry*   entryp,
-  cookie_t*             cookie);
+  apr_size_t            *dstlen,
+  chxjconvrule_entry    *entryp,
+  cookie_t              *cookie);
 
 #endif
index 1636c08..59eaf32 100644 (file)
 typedef struct chtml30_t chtml30_t;
 
 struct chtml30_t {
-    Doc*                doc;
-    char*               out;
+    Doc                 *doc;
+    char                *out;
     int                 out_len;
     int                 pre_flag;
     int                 textarea_flag;
 
-    device_table*       spec;
-    mod_chxj_config*    conf;
-    chxjconvrule_entryentryp;
-    cookie_t*           cookie;
+    device_table        *spec;
+    mod_chxj_config     *conf;
+    chxjconvrule_entry  *entryp;
+    cookie_t            *cookie;
 };
 
 /*----------------------------------------------------------------------------*/
 /* Prototype                                                                  */
 /*----------------------------------------------------------------------------*/
 extern char* chxj_convert_chtml30(
-  request_rec*          r,
-  device_table*         spec,
-  const char*           src,
+  request_rec           *r,
+  device_table          *spec,
+  const char            *src,
   apr_size_t            srclen,
-  apr_size_t*           dstlen,
-  chxjconvrule_entry*   entryp,
-  cookie_t*             cookie);
+  apr_size_t            *dstlen,
+  chxjconvrule_entry    *entryp,
+  cookie_t              *cookie);
 
 #endif
index b1b51ab..d8f366c 100644 (file)
@@ -44,74 +44,29 @@ typedef struct cookie_t cookie_t;
 
 
 struct cookie_t {
-  char*               cookie_id;
-  apr_array_header_tcookie_headers;
+  char                *cookie_id;
+  apr_array_header_t  *cookie_headers;
 };
 
 
-extern cookie_t* chxj_save_cookie(
-  request_rec*            r);
-
-extern char* chxj_add_cookie_parameter(
-  request_rec*            r, 
-  char*                   value, 
-  cookie_t*               cookie);
-
-extern int chxj_cookie_check_host(
-  request_rec*            r, 
-  char*                   value);
-
-extern cookie_t* chxj_load_cookie(
-  request_rec*            r, 
-  char*                   cookie_id);
-
-extern apr_file_t* chxj_cookie_db_lock(
-  request_rec*            r);
-
-extern void chxj_cookie_db_unlock(
-  request_rec*            r, 
-  apr_file_t*             file);
+extern cookie_t *chxj_save_cookie(request_rec *r);
 
+extern char *chxj_add_cookie_parameter(request_rec *r, char *value, cookie_t *cookie);
+extern int chxj_cookie_check_host(request_rec *r, char *value);
+extern cookie_t *chxj_load_cookie(request_rec *r, char *cookie_id);
+extern apr_file_t *chxj_cookie_db_lock(request_rec *r);
+extern void chxj_cookie_db_unlock(request_rec *r, apr_file_t *file);
 extern void chxj_delete_cookie(request_rec *r, const char *cookie_id);
-
-extern char* chxj_cookie_db_name_create(
-  request_rec*            r, 
-  const char*             dir);
-
-extern char* chxj_cookie_db_lock_name_create(
-  request_rec* r, 
-  const char*  dir);
-
-extern char* chxj_cookie_expire_db_lock_name_create(
-  request_rec* r, 
-  const char*  dir);
-
-extern char* chxj_cookie_expire_db_name_create(
-  request_rec* r, 
-  const char*  dir);
-
-extern apr_file_t* chxj_cookie_expire_db_lock(
-  request_rec* r);
-
-extern void chxj_cookie_expire_db_unlock(
-  request_rec* r, 
-  apr_file_t*  file);
-
-extern void chxj_save_cookie_expire(
-  request_rec* r, 
-  cookie_t*    cookie);
-
-extern void chxj_delete_cookie_expire(
-  request_rec* r, 
-  char*        cookie_id);
-
-extern void chxj_cookie_expire_gc(
-  request_rec* r);
-
-extern cookie_t* chxj_update_cookie(
-  request_rec* r, 
-  cookie_t*    old_cookie);
-
+extern char *chxj_cookie_db_name_create(request_rec *r, const char *dir);
+extern char *chxj_cookie_db_lock_name_create(request_rec *r, const char *dir);
+extern char *chxj_cookie_expire_db_lock_name_create(request_rec *r, const char *dir);
+extern char *chxj_cookie_expire_db_name_create(request_rec *r, const char *dir);
+extern apr_file_t *chxj_cookie_expire_db_lock(request_rec *r);
+extern void chxj_cookie_expire_db_unlock(request_rec *r, apr_file_t *file);
+extern void chxj_save_cookie_expire(request_rec *r, cookie_t *cookie);
+extern void chxj_delete_cookie_expire(request_rec *r, char *cookie_id);
+extern void chxj_cookie_expire_gc(request_rec *r);
+extern cookie_t *chxj_update_cookie(request_rec *r, cookie_t *old_cookie);
 extern apr_time_t chxj_parse_cookie_expires(const char *s);
 #endif
 /*
index 5072c36..9cc8624 100644 (file)
@@ -18,8 +18,8 @@
 #define __CHXJ_DUMP_H__
 
 extern void chxj_dump_out(
-  const char*         title, 
-  const char*         s, 
-  int                 slen);
+  const char *title, 
+  const char *s, 
+  int        slen);
 
 #endif
index 4b0d556..219f1b6 100644 (file)
 /*----------------------------------------------------------------------------*/
 /* Prototype                                                                  */
 /*----------------------------------------------------------------------------*/
-extern charchxj_encoding(
-  request_rec*       r, 
-  const char*        src, 
-  apr_size_t*        len);
-
-extern charchxj_rencoding(
-  request_rec*       r, 
-  const char*        src, 
-  apr_size_t*        len);
-
-extern charchxj_encoding_parameter(
-  request_rec*       r, 
-  const char*        value);
+extern char *chxj_encoding(
+  request_rec *r, 
+  const char  *src, 
+  apr_size_t  *len);
+
+extern char *chxj_rencoding(
+  request_rec *r, 
+  const char  *src, 
+  apr_size_t  *len);
+
+extern char *chxj_encoding_parameter(
+  request_rec *r, 
+  const char *value);
 
 extern char *
 chxj_encoding_by_spec(
index c91e64e..f456a49 100644 (file)
 typedef struct hdml_t hdml_t;
 
 struct hdml_t {
-  Doc*           doc;
-  char*          out;
+  Doc            *doc;
+  char           *out;
   int            center;
   int            in_center;
-  char*          card;
+  char           *card;
   int            card_cnt;
   apr_time_t     form_cnt;
 
@@ -53,26 +53,26 @@ struct hdml_t {
   int            pure_form_cnt;
 
   int     var_cnt[MAX_FORM_COUNT];
-  char*   postdata[MAX_FORM_COUNT];
+  char    *postdata[MAX_FORM_COUNT];
   /*------------------------------*/
   /* max <input type="radio"> tag */
   /*------------------------------*/
-  char*   radio_value_list[MAX_RADIO_COUNT][MAX_RADIO_VALUE_COUNT];
-  char*   radio_name_list[MAX_RADIO_COUNT];
+  char    *radio_value_list[MAX_RADIO_COUNT][MAX_RADIO_VALUE_COUNT];
+  char    *radio_name_list[MAX_RADIO_COUNT];
   int     radio_out_cnt[MAX_RADIO_COUNT];
-  char*   radio_checked_value[MAX_RADIO_COUNT];
+  char    *radio_checked_value[MAX_RADIO_COUNT];
   /*---------------------------------*/
   /* for <input type="submit"> tag   */
   /*---------------------------------*/
-  char*   submit_button[MAX_SUBMIT_BUTTON_COUNT];
+  char    *submit_button[MAX_SUBMIT_BUTTON_COUNT];
 
   /*---------------------------------*/
   /* for <input type="checkbox"> tag */
   /*---------------------------------*/
   int     has_checkbox;
 
-  char*   form_tmp;
-  char*   init_vars;
+  char    *form_tmp;
+  char    *init_vars;
   int     out_len;
   int     card_len;
 
@@ -89,35 +89,35 @@ struct hdml_t {
 
   int                 hdml_end_flag;
 
-  device_table*       spec;
+  device_table        *spec;
 
-  mod_chxj_config*    conf;
+  mod_chxj_config     *conf;
 
-  chxjconvrule_entryentryp;
-  cookie_t*           cookie;
+  chxjconvrule_entry  *entryp;
+  cookie_t            *cookie;
 };
 
 
 /*============================================================================*/
 /* Prototype declaration.                                                     */
 /*============================================================================*/
-extern charchxj_convert_hdml(
-  request_rec*        r, 
-  device_table*       spec,
-  const char*         src,
+extern char *chxj_convert_hdml(
+  request_rec         *r, 
+  device_table        *spec,
+  const char          *src,
   apr_size_t          srclen,
-  apr_size_t*         dstlen,
-  chxjconvrule_entryentryp,
-  cookie_t*           cookie);
-
-extern charqs_out_apr_pstrcat(
-  request_recr, 
-  char*        o, 
-  char*        s, 
-  int*         len);
-
-extern charqs_conv_istyle_to_format(
-  request_recr, 
-  char*        is);
+  apr_size_t          *dstlen,
+  chxjconvrule_entry  *entryp,
+  cookie_t            *cookie);
+
+extern char *qs_out_apr_pstrcat(
+  request_rec  *r, 
+  char         *o, 
+  char         *s, 
+  int          *len);
+
+extern char *qs_conv_istyle_to_format(
+  request_rec *r, 
+  char        *is);
 
 #endif
index fa17a0c..9dedfa7 100644 (file)
@@ -19,9 +19,9 @@
 
 #include "mod_chxj.h"
 
-extern charchxj_img_conv(
-  request_rec*         r, 
-  device_table*        spec, 
-  const char*          s);
+extern char *chxj_img_conv(
+  request_rec          *r, 
+  device_table         *spec, 
+  const char           *s);
 
 #endif
index b65611b..a6c7d9c 100644 (file)
 
 
 extern int chxj_img_conv_format_handler(
-  request_rec*         r);
+  request_rec *r);
 
-extern charchxj_convert_image(
-  request_rec*         r, 
-  const char**         src, 
-  apr_size_t*          len);
+extern char *chxj_convert_image(
+  request_rec *r, 
+  const char  **src, 
+  apr_size_t  *len);
 
 extern int chxj_trans_name(
-  request_rec*         r);
+  request_rec *r);
 
 
 /* micro second */
index 66aed8d..6e67abb 100644 (file)
 typedef struct jhtml_t jhtml_t;
 
 struct jhtml_t {
-    Doc*                doc;
-    char*               out;
-    int                 out_len;
-    int                 pre_flag;
-    int                 textarea_flag;
+    Doc *doc;
+    char *out;
+    int  out_len;
+    int  pre_flag;
+    int  textarea_flag;
 
-    device_table*       spec;
-    mod_chxj_config*    conf;
-    chxjconvrule_entryentryp;
-    cookie_t*               cookie;
+    device_table *spec;
+    mod_chxj_config *conf;
+    chxjconvrule_entry *entryp;
+    cookie_t *cookie;
 };
 
 /*----------------------------------------------------------------------------*/
 /* Prototype                                                                  */
 /*----------------------------------------------------------------------------*/
-extern charchxj_convert_jhtml(
-  request_rec*              r,
-  device_table*             spec,
-  const char*               src,
-  apr_size_t                srclen,
-  apr_size_t*               dstlen,
-  chxjconvrule_entry*       entryp,
-  cookie_t*                 cookie);
+extern char *chxj_convert_jhtml(
+  request_rec        *r,
+  device_table       *spec,
+  const char         *src,
+  apr_size_t         srclen,
+  apr_size_t         *dstlen,
+  chxjconvrule_entry *entryp,
+  cookie_t           *cookie);
 
 #endif
index 8df24bc..b5f396d 100644 (file)
@@ -20,8 +20,8 @@
 #include "mod_chxj.h"
 
 extern void chxj_load_device_data(
-  Doc*                     doc, 
-  apr_pool_t*              p, 
-  mod_chxj_config*         conf);
+  Doc                      *doc, 
+  apr_pool_t               *p, 
+  mod_chxj_config          *conf);
 
 #endif
index 8a3189f..0d99675 100644 (file)
@@ -21,9 +21,9 @@
 #define ESCAPE_CHAR_GT        "&gt;"
 
 
-extern charchxj_load_emoji_data(
-  Doc*                     doc, 
-  apr_pool_t*              p, 
-  mod_chxj_config*         conf);
+extern char *chxj_load_emoji_data(
+  Doc                      *doc, 
+  apr_pool_t               *p, 
+  mod_chxj_config          *conf);
 
 #endif
index 2ee0ce9..d89dc0f 100644 (file)
@@ -71,7 +71,6 @@ typedef enum _qr_level_t {
 } qr_level_t;
 
 /*----------------------------------------------------------------------------*/
-/* ¥â¡¼¥É                                                                     */
 /*----------------------------------------------------------------------------*/
 typedef enum _qr_mode_t {
   QR_NUM_MODE = 0,
@@ -111,27 +110,26 @@ struct qr_code_t {
   qr_ver_t         version;
   qr_level_t       level;
   qr_mode_t        mode;
-  request_rec*     r;
-  Doc*             doc;
+  request_rec      *r;
+  Doc              *doc;
   int              size;
-  char*            indata;
+  char             *indata;
 };
 
-extern int chxj_qr_code_handler(
-  request_rec*           r);
+extern int chxj_qr_code_handler(request_rec *r);
 
 extern int chxj_qrcode_create_image_data(
-  qr_code_t*         qrcode, 
-  char**             img, 
-  size_t*            img_len);
+  qr_code_t *qrcode, 
+  char      **img, 
+  size_t    *img_len);
 
 extern void    chxj_qrcode_node_to_qrcode(
-  qr_code_t*         qrcode, 
-  Node*              root);
+  qr_code_t *qrcode, 
+  Node      *root);
 
-extern char*   chxj_qr_code_blob_handler(
-  request_rec*       r, 
-  const char*        indata, 
-  size_t*            len);
+extern char *chxj_qr_code_blob_handler(
+  request_rec *r, 
+  const char  *indata, 
+  size_t      *len);
 
 #endif
index c66340b..ac0dde7 100644 (file)
@@ -43,36 +43,36 @@ typedef enum {
 typedef struct device_table_t device_table;
 
 struct device_table_t {
-  struct device_table_tnext;
-  const char*            device_id;
-  const char*            device_name;
-  spec_type              html_spec_type;
-  int                    width;
-  int                    heigh;
+  struct device_table_t *next;
+  const char            *device_id;
+  const char            *device_name;
+  spec_type             html_spec_type;
+  int                   width;
+  int                   heigh;
   /*--------------------------------------------------------------------------*/
   /* Walll Paper Size                                                         */
   /*--------------------------------------------------------------------------*/
-  int                    wp_width;
-  int                    wp_heigh;
+  int                   wp_width;
+  int                   wp_heigh;
   /*--------------------------------------------------------------------------*/
   /* Cache Size                                                               */
   /*--------------------------------------------------------------------------*/
-  int                    cache;
+  int                   cache;
   /*--------------------------------------------------------------------------*/
   /* Correspondence image format                                              */
   /* 1: It is possible to display it.                                         */
   /* 0: It is not possible to display it.                                     */
   /*--------------------------------------------------------------------------*/
-  int                    available_gif;
-  int                    available_jpeg;
-  int                    available_png;
-  int                    available_bmp2;
-  int                    available_bmp4;
+  int                   available_gif;
+  int                   available_jpeg;
+  int                   available_png;
+  int                   available_bmp2;
+  int                   available_bmp4;
   /*--------------------------------------------------------------------------*/
   /* Resolution                                                               */
   /*--------------------------------------------------------------------------*/
-  int                    dpi_width;
-  int                    dpi_heigh;
+  int                   dpi_width;
+  int                   dpi_heigh;
   /*--------------------------------------------------------------------------*/
   /* Color number type                                                        */
   /* 2       : 2        Colors                                                */
@@ -83,9 +83,9 @@ struct device_table_t {
   /* 262144  : 262144   Colors                                                */
   /* 15680000: 15680000 over colors                                           */
   /*--------------------------------------------------------------------------*/
-  int                    color;
-  char                   *emoji_type;
-  char                   *charset;
+  int                   color;
+  char                  *emoji_type;
+  char                  *charset;
 };
 
 #define GET_EMOJI_TYPE(spec) ((spec)->emoji_type)
@@ -93,35 +93,35 @@ struct device_table_t {
 typedef struct device_table_list_t  device_table_list;
 
 struct device_table_list_t {
-  struct device_table_list_tnext;
+  struct device_table_list_t *next;
 
-  char*                       pattern;
-  ap_regex_t*                 regexp;
-  device_table*               table;
-  device_table*               tail;
+  char          *pattern;
+  ap_regex_t    *regexp;
+  device_table  *table;
+  device_table  *tail;
 };
 
 typedef struct converter_t converter_t;
 
 struct converter_t {
   /* convert routine */
-  char* (*converter)(request_rec*                r,
-                     struct device_table_t*      spec,
-                     const char*                 src, 
+  char *(*converter)(request_rec                 *r,
+                     struct device_table_t       *spec,
+                     const char                  *src, 
                      apr_size_t                  srclen, 
-                     apr_size_t*                 dstlen,
-                     struct chxjconvrule_entry*  entryp,
-                     cookie_t*                   cookie);
+                     apr_size_t                  *dstlen,
+                     struct chxjconvrule_entry   *entryp,
+                     cookie_t                    *cookie);
 
-  char* (*encoder)(request_rec* r,
-                   const char*  src,
-                   apr_size_t*  len);
+  char *(*encoder)(request_rec  *r,
+                   const char   *src,
+                   apr_size_t   *len);
 };
 
 extern converter_t convert_routine[];
 
-extern device_tablechxj_specified_device(
-  request_rec*            r, 
-  const char*             user_agent);
+extern device_table *chxj_specified_device(
+  request_rec  *r, 
+  const char   *user_agent);
 
 #endif
index 85e5627..6d32d2c 100644 (file)
 #include <apr_pools.h>
 
 extern int chxj_chk_numeric(
-  const char*          s);
+  const char  *s);
 
 extern int chxj_atoi(
-  const char*          s);
+  const char  *s);
 
 extern int chxj_strcasenrcmp(apr_pool_t *p, const char *s1, const char *s2, int n);
 extern int chxj_starts_with(const char *str, const char *word);
index e6beb39..8353dcc 100644 (file)
 /*----------------------------------------------------------------------------*/
 /* prototype declare                                                          */
 /*----------------------------------------------------------------------------*/
-extern charqs_get_value_attr(
-  Doc*                doc, 
-  Node*               tag, 
-  request_rec*        r);
-
-extern charqs_get_checked_attr(
-  Doc*                doc, 
-  Node*               tag, 
-  request_rec*        r);
-
-extern charqs_get_type_attr(
-  Doc*                doc,
-  Node*               tag,
-  request_rec*        r);
-
-extern charqs_get_name_attr(
-  Doc*         doc,
-  Node*        tag,
-  request_recr);
-
-extern charqs_get_istyle_attr(
-  Doc*         doc,
-  Node*        tag,
-  request_recr);
-
-extern charqs_get_maxlength_attr(
-  Doc*         doc, 
-  Node*        tag, 
-  request_recr);
-
-extern charqs_get_size_attr(
-  Doc*         doc, 
-  Node*        tag, 
-  request_recr);
-
-extern charqs_get_accesskey_attr(
-  Doc*         doc, 
-  Node*        tag, 
-  request_recr);
+extern char *qs_get_value_attr(
+  Doc                 *doc, 
+  Node                *tag, 
+  request_rec         *r);
+
+extern char *qs_get_checked_attr(
+  Doc                 *doc, 
+  Node                *tag, 
+  request_rec         *r);
+
+extern char *qs_get_type_attr(
+  Doc                 *doc,
+  Node                *tag,
+  request_rec         *r);
+
+extern char *qs_get_name_attr(
+  Doc          *doc,
+  Node         *tag,
+  request_rec  *r);
+
+extern char *qs_get_istyle_attr(
+  Doc          *doc,
+  Node         *tag,
+  request_rec  *r);
+
+extern char *qs_get_maxlength_attr(
+  Doc          *doc, 
+  Node         *tag, 
+  request_rec  *r);
+
+extern char *qs_get_size_attr(
+  Doc          *doc, 
+  Node         *tag, 
+  request_rec  *r);
+
+extern char *qs_get_accesskey_attr(
+  Doc          *doc, 
+  Node         *tag, 
+  request_rec  *r);
 
 extern int qs_is_checked_checkbox_attr(
-  Doc*         doc, 
-  Node*        tag, 
-  request_recr);
+  Doc          *doc, 
+  Node         *tag, 
+  request_rec  *r);
 
 extern char* qs_get_selected_value_text(
-  Doc*         doc, 
-  Node*        node, 
-  request_recr);
+  Doc          *doc, 
+  Node         *node, 
+  request_rec  *r);
 
-extern charqs_get_selected_value(
-  Doc*         doc, 
-  Node*        node,
-  request_recr);
+extern char *qs_get_selected_value(
+  Doc          *doc, 
+  Node         *node,
+  request_rec  *r);
 
-extern charqs_alloc_zero_byte_string(
-  request_recr);
+extern char *qs_alloc_zero_byte_string(
+  request_rec *r);
 
-extern charqs_trim_string(
-  apr_pool_t*  p, 
-  char*        s);
+extern char *qs_trim_string(
+  apr_pool_t *p, 
+  char       *s);
 
 extern int   chxj_chxjif_is_mine(
-  device_tablespec, 
-  Doc*          doc, 
-  Node*         tag);
-
-extern charqs_get_destlang_attr(
-  Docdoc, 
-  Nodetag, 
-  request_recr);
-
-extern charqs_get_parse_attr(
-  Doc*         doc, 
-  Node*        tag, 
-  request_recr);
+  device_table *spec, 
+  Doc          *doc, 
+  Node         *tag);
+
+extern char *qs_get_destlang_attr(
+  Doc *doc, 
+  Node *tag, 
+  request_rec *r);
+
+extern char *qs_get_parse_attr(
+  Doc  *doc, 
+  Node *tag, 
+  request_rec *r);
 
 #endif
 /*
index 5513a83..2fde9f2 100644 (file)
 #include "chxj_qr_code.h"
 #include "chxj_cookie.h"
 #include "chxj_encoding.h"
+#include "chxj_buffered_write.h"
+
+#define BUFFERED 1
 
 #define GET_CHTML10(X) ((chtml10_t *)(X))
+#define W_L(X)          do { chtml10->out = BUFFERED_WRITE_LITERAL(chtml10->out, &doc->buf, (X)); } while(0)
+#define W_V(X)          do { chtml10->out = (X) ? BUFFERED_WRITE_VALUE(chtml10->out, &doc->buf, (X))  \
+                                                : BUFFERED_WRITE_LITERAL(chtml10->out, &doc->buf, ""); } while(0)
 
 static char *s_chtml10_start_html_tag     (void *pdoc, Node *node);
 static char *s_chtml10_end_html_tag       (void *pdoc, Node *node);