From: Sara Golemon Date: Sun, 5 Jan 2003 03:24:38 +0000 (+0000) Subject: Added stream_get_filters(); to list registered filters X-Git-Tag: PHP_5_0_dev_before_13561_fix~458 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=43630e2ac0b113b7a5c85ebb465597421029f956;p=php Added stream_get_filters(); to list registered filters --- diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index 2344eb7734..93649e2590 100644 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -863,6 +863,7 @@ function_entry basic_functions[] = { #endif PHP_FE(str_rot13, NULL) + PHP_FE(stream_get_filters, NULL) PHP_FE(stream_register_filter, NULL) /* functions from aggregate.c */ diff --git a/ext/standard/basic_functions.h b/ext/standard/basic_functions.h index f1b9f4b4fc..a1d86ce2fd 100644 --- a/ext/standard/basic_functions.h +++ b/ext/standard/basic_functions.h @@ -105,6 +105,7 @@ PHP_FUNCTION(move_uploaded_file); PHP_FUNCTION(parse_ini_file); PHP_FUNCTION(str_rot13); +PHP_FUNCTION(stream_get_filters); PHP_FUNCTION(stream_register_filter); PHP_MINIT_FUNCTION(user_filters); diff --git a/ext/standard/user_filters.c b/ext/standard/user_filters.c index 90ab01a672..97b743899a 100644 --- a/ext/standard/user_filters.c +++ b/ext/standard/user_filters.c @@ -411,6 +411,24 @@ static void filter_item_dtor(struct php_user_filter_data *fdat) { } +/* {{{ proto array stream_get_filters() + Returns a list of registered filters */ +PHP_FUNCTION(stream_get_filters) +{ + char *filter_name; + int filter_name_len = 0; + + array_init(return_value); + + if (BG(user_filter_map)) { + for(zend_hash_internal_pointer_reset(BG(user_filter_map)); + zend_hash_get_current_key_ex(BG(user_filter_map), &filter_name, &filter_name_len, NULL, 0, NULL) == HASH_KEY_IS_STRING; + zend_hash_move_forward(BG(user_filter_map))) + add_next_index_string(return_value, filter_name, 1); + } +} +/* }}} */ + /* {{{ proto bool stream_register_filter(string filtername, string classname) Registers a custom filter handler class */ PHP_FUNCTION(stream_register_filter)