summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Wallner <mike@php.net>2006-08-31 13:51:35 +0000
committerMichael Wallner <mike@php.net>2006-08-31 13:51:35 +0000
commitdf26ea87bdc7aae1ade1189027a571b25968e17b (patch)
tree56435eb65538fd2925daf5d8806f9c329e912fb7
parent3aca07552aab48e1433d6467071c51bf8ca7fd0f (diff)
downloadphp-git-df26ea87bdc7aae1ade1189027a571b25968e17b.tar.gz
- output handler alias ctor should know about chunk_size and flags
-rw-r--r--ext/zlib/php_zlib.h2
-rw-r--r--ext/zlib/zlib.c7
-rw-r--r--main/output.c2
-rw-r--r--main/php_output.h2
4 files changed, 7 insertions, 6 deletions
diff --git a/ext/zlib/php_zlib.h b/ext/zlib/php_zlib.h
index 6c54c4476c..fb6033f722 100644
--- a/ext/zlib/php_zlib.h
+++ b/ext/zlib/php_zlib.h
@@ -58,7 +58,7 @@ typedef struct _php_zlib_context {
int php_zlib_output_encoding(TSRMLS_D);
int php_zlib_encode(const char *in_buf, size_t in_len, char **out_buf, size_t *out_len, int encoding, int level TSRMLS_DC);
int php_zlib_decode(const char *in_buf, size_t in_len, char **out_buf, size_t *out_len, int encoding, size_t max_len TSRMLS_DC);
-php_output_handler *php_zlib_output_handler_init(zval *handler_name TSRMLS_DC);
+php_output_handler *php_zlib_output_handler_init(zval *handler_name, size_t chunk_size, int flags TSRMLS_DC);
int php_zlib_output_handler(void **handler_context, php_output_context *output_context);
void php_zlib_output_handler_dtor(void *opaq TSRMLS_DC);
int php_zlib_output_conflict_check(zval *handler_name TSRMLS_DC);
diff --git a/ext/zlib/zlib.c b/ext/zlib/zlib.c
index e0b4060c3a..8e20190b05 100644
--- a/ext/zlib/zlib.c
+++ b/ext/zlib/zlib.c
@@ -85,7 +85,8 @@ void php_zlib_output_compression_start(TSRMLS_D)
default:
MAKE_STD_ZVAL(tmp);
ZVAL_ASCII_STRING(tmp, PHP_ZLIB_OUTPUT_HANDLER_NAME, ZSTR_DUPLICATE);
- if ((h = php_zlib_output_handler_init(tmp TSRMLS_CC)) && (SUCCESS == php_output_handler_start(h TSRMLS_CC))) {
+ if ( (h = php_zlib_output_handler_init(tmp, ZLIBG(output_compression), PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC)) &&
+ (SUCCESS == php_output_handler_start(h TSRMLS_CC))) {
if (ZLIBG(output_handler) && *ZLIBG(output_handler)) {
MAKE_STD_ZVAL(zoh);
ZVAL_ASCII_STRING(zoh, ZLIBG(output_handler), ZSTR_DUPLICATE);
@@ -100,12 +101,12 @@ void php_zlib_output_compression_start(TSRMLS_D)
/* }}} */
/* {{{ php_zlib_output_handler_init() */
-php_output_handler *php_zlib_output_handler_init(zval *handler_name TSRMLS_DC)
+php_output_handler *php_zlib_output_handler_init(zval *handler_name, size_t chunk_size, int flags TSRMLS_DC)
{
php_output_handler *h = NULL;
if (php_zlib_output_encoding(TSRMLS_C)) {
- if ((h = php_output_handler_create_internal(handler_name, php_zlib_output_handler, ZLIBG(output_compression), PHP_OUTPUT_HANDLER_STDFLAGS TSRMLS_CC))) {
+ if ((h = php_output_handler_create_internal(handler_name, php_zlib_output_handler, chunk_size, flags TSRMLS_CC))) {
php_output_handler_set_context(h, ecalloc(1, sizeof(php_zlib_context)), php_zlib_output_handler_dtor TSRMLS_CC);
}
}
diff --git a/main/output.c b/main/output.c
index bb63c7accc..765d9e2b99 100644
--- a/main/output.c
+++ b/main/output.c
@@ -495,7 +495,7 @@ PHPAPI php_output_handler *php_output_handler_create_user(zval *output_handler,
case IS_STRING:
case IS_UNICODE:
if (Z_UNILEN_P(output_handler) && (alias = php_output_handler_alias(output_handler TSRMLS_CC))) {
- handler = (*alias)(output_handler TSRMLS_CC);
+ handler = (*alias)(output_handler, chunk_size, flags TSRMLS_CC);
break;
}
default:
diff --git a/main/php_output.h b/main/php_output.h
index 48a70e289f..a4f5acc0ae 100644
--- a/main/php_output.h
+++ b/main/php_output.h
@@ -109,7 +109,7 @@ typedef void (*php_output_handler_context_dtor_t)(void *opaq TSRMLS_DC);
/* conflict check callback */
typedef int (*php_output_handler_conflict_check_t)(zval *handler_name TSRMLS_DC);
/* ctor for aliases */
-typedef struct _php_output_handler *(*php_output_handler_alias_ctor_t)(zval *handler_name TSRMLS_DC);
+typedef struct _php_output_handler *(*php_output_handler_alias_ctor_t)(zval *handler_name, size_t chunk_size, int flags TSRMLS_DC);
typedef struct _php_output_handler {
zval *name;