summaryrefslogtreecommitdiff
path: root/ext/zlib
diff options
context:
space:
mode:
authorSascha Schumann <sas@php.net>2002-04-27 18:41:38 +0000
committerSascha Schumann <sas@php.net>2002-04-27 18:41:38 +0000
commitaab439f26fcf28b42f9ec99149df5365112405fe (patch)
treedaa633729459906196b18e159db32435ff72bfb7 /ext/zlib
parent7b59a131b6e75deeb88ea35bbac372d6d87b9c87 (diff)
downloadphp-git-aab439f26fcf28b42f9ec99149df5365112405fe.tar.gz
Use a single macro to set cl header
Diffstat (limited to 'ext/zlib')
-rw-r--r--ext/zlib/zlib.c28
1 files changed, 16 insertions, 12 deletions
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index bbc8672ec0..788db98117 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -73,6 +73,17 @@
#endif
#endif
+#include "ext/standard/php_smart_str.h"
+
+#define ADD_CL_HEADER(len) do { \
+ smart_str str = {0}; \
+ \
+ smart_str_appends(&str, "Content-Length: "); \
+ smart_str_append_long(&str, len); \
+ smart_str_0(&str); \
+ sapi_add_header(str.c, str.len, 0); \
+ } while(0)
+
#define OS_CODE 0x03 /* FIXME */
#define CODING_GZIP 1
#define CODING_DEFLATE 2
@@ -927,12 +938,9 @@ PHP_FUNCTION(ob_gzhandler)
if (return_original) {
zval_dtor(return_value);
- } else if (do_start && do_end) {
- char lenbuf[64];
-
- sprintf(lenbuf,"Content-Length: %d",Z_STRLEN_P(return_value));
- sapi_add_header(lenbuf,strlen(lenbuf), 1);
- }
+ } else if (do_start && do_end)
+ ADD_CL_HEADER(Z_STRLEN_P(return_value));
+
} else {
return_original = 1;
}
@@ -956,12 +964,8 @@ static void php_gzip_output_handler(char *output, uint output_len, char **handle
if (php_deflate_string(output, output_len, handled_output, handled_output_len, ZLIBG(ob_gzip_coding), do_start, do_end, ZLIBG(output_compression_level) TSRMLS_CC)!=SUCCESS) {
zend_error(E_ERROR, "Compression failed");
} else {
- if (do_start && do_end) {
- char lenbuf[64];
-
- sprintf(lenbuf,"Content-Length: %d", *handled_output_len);
- sapi_add_header(lenbuf,strlen(lenbuf), 1);
- }
+ if (do_start && do_end)
+ ADD_CL_HEADER(*handled_output_len);
}
}
/* }}} */