diff options
author | Sascha Schumann <sas@php.net> | 2002-04-27 18:41:38 +0000 |
---|---|---|
committer | Sascha Schumann <sas@php.net> | 2002-04-27 18:41:38 +0000 |
commit | aab439f26fcf28b42f9ec99149df5365112405fe (patch) | |
tree | daa633729459906196b18e159db32435ff72bfb7 /ext/zlib | |
parent | 7b59a131b6e75deeb88ea35bbac372d6d87b9c87 (diff) | |
download | php-git-aab439f26fcf28b42f9ec99149df5365112405fe.tar.gz |
Use a single macro to set cl header
Diffstat (limited to 'ext/zlib')
-rw-r--r-- | ext/zlib/zlib.c | 28 |
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); } } /* }}} */ |