From: Sara Golemon Date: Tue, 7 Jan 2003 01:02:29 +0000 (+0000) Subject: Add option to stream_get_filters() user-defined fiters vs. all filters, default to... X-Git-Tag: PHP_5_0_dev_before_13561_fix~414 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=35b1635c81e34a540ff3522b196b81d63b7d38e0;p=php Add option to stream_get_filters() user-defined fiters vs. all filters, default to user only --- diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c index af035bddab..7600813405 100644 --- a/ext/standard/user_filters.c +++ b/ext/standard/user_filters.c @@ -411,21 +411,27 @@ static void filter_item_dtor(struct php_user_filter_data *fdat) { } -/* {{{ proto array stream_get_filters() +/* {{{ proto array stream_get_filters([bool system]) Returns a list of registered filters */ PHP_FUNCTION(stream_get_filters) { char *filter_name; int key_flags, filter_name_len = 0; + zend_bool return_system = 0; HashTable *filters_hash; - if (ZEND_NUM_ARGS() != 0) { - WRONG_PARAM_COUNT; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|b", &return_system) == FAILURE) { + RETURN_FALSE; } array_init(return_value); - filters_hash = php_get_stream_filters_hash(); + /* TODO: Bug #21487 */ + + if (return_system) + filters_hash = php_get_stream_filters_hash(); + else + filters_hash = BG(user_filter_map); if (filters_hash) { for(zend_hash_internal_pointer_reset(filters_hash);