OSDN Git Service

Merge branch 'branch_0.12.0' into branch_0.12.0-svn
authorkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Mon, 8 Dec 2008 16:46:45 +0000 (16:46 +0000)
committerkonn <konn@1a406e8e-add9-4483-a2c8-d8cac5b7c224>
Mon, 8 Dec 2008 16:46:45 +0000 (16:46 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/modchxj/mod_chxj/branches/RELEASE_0_12_0@4586 1a406e8e-add9-4483-a2c8-d8cac5b7c224

include/chxj_header_inf.h
src/chxj_header_inf.c
src/chxj_img_conv_format.c
src/mod_chxj.c

index 08bcbca..d1a5c94 100644 (file)
@@ -21,7 +21,7 @@
 
 #define HTTP_X_CHXJ_SET_CONTENT_TYPE   "X-Chxj-Set-Content-Type"
 
-
 extern char *chxj_header_inf_set_content_type(request_rec *r, char *default_string);
+extern void chxj_header_inf_clear(request_rec *r);
 
 #endif
index 2198c89..e467c4b 100644 (file)
 #include "qs_parse_string.h"
 #include <errno.h>
 
+static const char * v_header_inf_table[] = {
+  HTTP_X_CHXJ_SET_CONTENT_TYPE,
+  NULL,
+};
+
 /**
  */
 char *
@@ -46,6 +51,15 @@ chxj_header_inf_set_content_type(request_rec *r, char *default_string)
   return default_string;
 }
 
+void
+chxj_header_inf_clear(request_rec *r)
+{
+  int ii=0;
+  for (;v_header_inf_table[ii] != NULL; ii++) {
+    apr_table_unset(r->headers_out, v_header_inf_table[ii]);
+    apr_table_unset(r->err_headers_out, v_header_inf_table[ii]);
+  }
+}
 /*
  * vim: ts=2 et
  */
index 96db408..8a79d06 100644 (file)
@@ -527,7 +527,7 @@ s_create_cache_file(request_rec          *r,
   /*------------------*/
   img_count = MagickGetNumberImages(magick_wand);
   DBG(r, "REQ[%X] img_count is [%d]", (unsigned int)(apr_size_t)r, img_count);
-  if (img_count > 0) {
+  if (img_count > 1) {
     MagickSetImageIndex(magick_wand, 0);
     MagickWand *magick_wand2 = MagickGetImage(magick_wand);
     DestroyMagickWand(magick_wand);
index 93cb6f7..fe183c2 100644 (file)
@@ -69,6 +69,7 @@
 #include "chxj_serf.h"
 #include "chxj_add_device_env.h"
 #include "chxj_conv_z2h.h"
+#include "chxj_header_inf.h"
 
 
 #define CHXJ_VERSION_PREFIX PACKAGE_NAME "/"
@@ -842,6 +843,8 @@ pass_data_to_filter(ap_filter_t *f, const char *data,
 
   DBG(r, "REQ[%X] start pass_data_to_filter()", (unsigned int)(apr_size_t)r);
 
+  chxj_header_inf_clear(r);
+
   bb = apr_brigade_create(r->pool, c->bucket_alloc);
   b  = apr_bucket_transient_create(data, len, c->bucket_alloc);