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);
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);
/* }}} */
/* {{{ 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);
}
}
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:
/* 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;