OSDN Git Service

*** empty log message ***
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Thu, 7 Feb 2008 14:52:14 +0000 (14:52 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Thu, 7 Feb 2008 14:52:14 +0000 (14:52 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/trunk@1835 1a406e8e-add9-4483-a2c8-d8cac5b7c224

etc/device_data.xml
src/chxj_img_conv_format.c

index e2ef234..e0afcee 100644 (file)
   <!--=======================================================================-->
   <!-- DoCoMo                                                                -->
   <!--=======================================================================-->
-  <user_agent pattern="^DoCoMo/1.0/([^   /]+)$">
+  <user_agent pattern="^DoCoMo/1.0/([^   /]+)(/ser.+)?$">
 
     <device>
       <device_id>D501i</device_id>
       <charset>SJIS</charset>
     </device>
   </user_agent>
-  <user_agent pattern="^DoCoMo/1.0/([^   /]+)/c[0-9][0-9]$">
+  <user_agent pattern="^DoCoMo/1.0/([^   /]+)/c[0-9][0-9](/ser.+)?$">
     <device>
       <device_id>ISIM60</device_id>
       <device_name>ISIM60</device_name>
   </user_agent>
 
   <!-- Sale in 2007.6 F904i_H -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W24H17\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W24H17(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F904i(c100;TB;W24H17)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.6 F904i_H -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W20H14\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W20H14(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F904i(c100;TB;W20H14)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.6 F904i_H -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W30H22\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W30H22(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F904i(c100;TB;W30H22)
     -->
   </user_agent>
 
   <!-- Sale in 2007.6 F904i_W -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W24H12\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W24H12(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F904i(c100;TB;W24H12)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.6 F904i_W -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W24H10\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W24H10(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F904i(c100;TB;W24H10)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.6 F904i_W -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W30H15\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F904i)\(c100;TB;W30H15(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F904i(c100;TB;W30H15)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_H -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W24H17\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W24H17(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W24H17)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_H -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W20H14\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W20H14(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W20H14)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_H -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W30H22\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W30H22(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W30H22)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_H -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W17H12\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W17H12(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W17H12)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_H -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W40H29\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W40H29(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W40H29)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_W -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W24H12\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W24H12(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W24H12)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_W -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W20H10\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W20H10(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W20H10)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_W -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W30H15\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W30H15(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W30H15)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_W -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W17H8\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W17H8(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W17H8)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 F905i_W -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W40H20\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(F905i)\(c100;TB;W40H20(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 F905i(c100;TB;W40H20)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W24H16\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W24H16(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W24H16)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W20H13\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W20H13(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W20H13)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W30H20\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W30H20(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W30H20)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W16H10\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W16H10(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W16H10)
     -->
   </user_agent>
 
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W24H16\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W24H16(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W24H16)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W24H12\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W24H12(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W24H12)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W20H10\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W20H10(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W20H10)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W30H15\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W30H15(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W30H15)
     -->
     </device>
   </user_agent>
   <!-- Sale in 2007.11 SH905i -->
-  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W16H08\)$">
+  <user_agent pattern="^DoCoMo/2.0[    ]+(SH905i)\(c100;TB;W16H08(;ser[^;]+)?(;icc[^;]+)?\)$">
     <!--
       DoCoMo/2.0 SH905i(c100;TB;W16H08)
     -->
     </device>
   </user_agent>
 
-  <user_agent pattern="^DoCoMo/2.0[  ]+([^( ]+)\(.+\)$">
+  <user_agent pattern="^DoCoMo/2.0[  ]+([^( ]+)\(.+(;ser[^;]+)?(;icc[^;]+)?\)$">
     <device>
       <device_id>N2001</device_id>
       <device_name>N2001</device_name>
 
 
 
-  <user_agent pattern="^DoCoMo/1.0/([^   /]+)/c[0-9][0-9]/TB$">
+  <user_agent pattern="^DoCoMo/1.0/([^   /]+)/c[0-9][0-9]/TB(/ser.+)?$">
     <device>
       <device_id>F504i</device_id>
       <device_name>F504i</device_name>
 
 
 
-  <user_agent pattern="^DoCoMo/1.0/([^   /]+)/c[0-9][0-9]/TB/W[0-9][0-9]H[0-9][0-9]$$">
+  <user_agent pattern="^DoCoMo/1.0/([^   /]+)/c[0-9][0-9]/TB/W[0-9][0-9]H[0-9][0-9](/ser.+)?$">
     <device>
       <device_id>P213i</device_id>
       <device_name>prosolid(P213i)</device_name>
index 79402f0..ddfa590 100644 (file)
@@ -691,7 +691,6 @@ s_create_cache_file(request_rec          *r,
   if (! writebyte) {
     DestroyMagickWand(magick_wand);
     ERR(r,"convert failure to Jpeg [%s]", tmpfile);
-
     return HTTP_INTERNAL_SERVER_ERROR;
   }
 
@@ -703,6 +702,7 @@ s_create_cache_file(request_rec          *r,
   if (rv != APR_SUCCESS) {
     DestroyMagickWand(magick_wand);
     ERR(r,"dir stat error.[%s]", conf->image_cache_dir);
+    if (writedata) free(writedata);
     return HTTP_INTERNAL_SERVER_ERROR;
   }
   
@@ -721,6 +721,7 @@ s_create_cache_file(request_rec          *r,
     if (rv != APR_SUCCESS) { 
       DestroyMagickWand(magick_wand);
       ERR(r,"dir open error.[%s]", conf->image_cache_dir);
+      if (writedata) free(writedata);
       return HTTP_INTERNAL_SERVER_ERROR;
     }
     memset(&dcf, 0, sizeof(apr_finfo_t));
@@ -752,6 +753,8 @@ s_create_cache_file(request_rec          *r,
       ERR(r, "At least the same size as %luByte is necessary for me.", (unsigned long)writebyte);
       ERR(r, "Please specify the ChxjImageCacheLimit that is larger than now value. ");
       ERR(r, "================================================");
+      DestroyMagickWand(magick_wand);
+      if (writedata) free(writedata);
       return HTTP_INTERNAL_SERVER_ERROR;
     }
     DBG(r, "Image Cache dir is full. total_size:[%lu] max_size:[%lu]", 
@@ -762,6 +765,7 @@ s_create_cache_file(request_rec          *r,
     rv = apr_file_remove(delete_file_name, r->pool);
     if (rv != APR_SUCCESS) {
       ERR(r, "cache file delete failure.[%s]", delete_file_name);
+      if (writedata) free(writedata);
       return HTTP_INTERNAL_SERVER_ERROR;
     }
     DBG(r, "deleted image cache target:[%s]", delete_file_name);
@@ -778,6 +782,7 @@ s_create_cache_file(request_rec          *r,
                   r->pool);
   if (rv != APR_SUCCESS) {
     DestroyMagickWand(magick_wand);
+    if (writedata) free(writedata);
     ERR(r,"file open error.[%s]", tmpfile);
     return HTTP_INTERNAL_SERVER_ERROR;
   }
@@ -786,6 +791,7 @@ s_create_cache_file(request_rec          *r,
   if (rv != APR_SUCCESS) {
     DestroyMagickWand(magick_wand);
     apr_file_close(fout);
+    if (writedata) free(writedata);
     return HTTP_INTERNAL_SERVER_ERROR;
   }
 
@@ -800,18 +806,24 @@ s_create_cache_file(request_rec          *r,
     rv = apr_file_putc((crc >> 8)  & 0xff, fout);
     if (rv != APR_SUCCESS) {
       DestroyMagickWand(magick_wand);
+      if (writedata) free(writedata);
       return HTTP_INTERNAL_SERVER_ERROR;
     }
 
     rv = apr_file_putc( crc        & 0xff, fout);
     if (rv != APR_SUCCESS) {
       DestroyMagickWand(magick_wand);
+      if (writedata) free(writedata);
       return HTTP_INTERNAL_SERVER_ERROR;
     }
   }
 
   DestroyMagickWand(magick_wand);
 
+  DBG(r,"free writedata area");
+  if (writedata) free(writedata);
+  DBG(r,"free writedata area");
+
   rv = apr_file_close(fout);
   if (rv != APR_SUCCESS) {
     DBG(r,"file write error.[%s]", tmpfile);