diff options
author | Sara Golemon <pollita@php.net> | 2003-01-07 01:02:29 +0000 |
---|---|---|
committer | Sara Golemon <pollita@php.net> | 2003-01-07 01:02:29 +0000 |
commit | 35b1635c81e34a540ff3522b196b81d63b7d38e0 (patch) | |
tree | 51cda8c8ed0343906d4c454b2fdaf701381df1f4 | |
parent | 00a36a09e1e23a9a51657fda011995486a093764 (diff) | |
download | php-git-35b1635c81e34a540ff3522b196b81d63b7d38e0.tar.gz |
Add option to stream_get_filters() user-defined fiters vs. all filters, default to user only
-rw-r--r-- | ext/standard/user_filters.c | 14 |
1 files changed, 10 insertions, 4 deletions
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); |