static php_stream_filter *http_filter_create(const char *name, zval *params, int p TSRMLS_DC)
{
+ zval **tmp = ¶ms;
php_stream_filter *f = NULL;
if (!strcasecmp(name, "http.chunked_decode")) {
if (p) {
b->flags |= HTTP_ENCODING_STREAM_PERSISTENT;
}
+ if (params) {
+ switch (Z_TYPE_P(params))
+ {
+ case IS_ARRAY:
+ case IS_OBJECT:
+ if (SUCCESS != zend_hash_find(HASH_OF(params), "zlib", sizeof("zlib"), (void **) &tmp)) {
+ break;
+ }
+ default:
+ if (zval_is_true(*tmp)) {
+ b->flags |= HTTP_ENCODING_STREAM_ZLIB_HEADER;
+ }
+ }
+ }
if (!(f = php_stream_filter_alloc(&HTTP_FILTER_OP(gzencode), b, p))) {
pefree(b, p);
}
if (p) {
b->flags |= HTTP_ENCODING_STREAM_PERSISTENT;
}
+ if (params) {
+ switch (Z_TYPE_P(params))
+ {
+ case IS_ARRAY:
+ case IS_OBJECT:
+ if (SUCCESS != zend_hash_find(HASH_OF(params), "zlib", sizeof("zlib"), (void **) &tmp)) {
+ break;
+ }
+ default:
+ if (zval_is_true(*tmp)) {
+ b->flags |= HTTP_ENCODING_STREAM_ZLIB_HEADER;
+ }
+ }
+ }
if (!(f = php_stream_filter_alloc(&HTTP_FILTER_OP(deflate), b, p))) {
pefree(b, p);
}