From: Derick Rethans Date: Mon, 26 Sep 2005 18:38:49 +0000 (+0000) Subject: - Implemented callback filter. X-Git-Tag: RELEASE_0_9_0~102 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=74c7eb772384faf2e0c78e62f24f78fd875bf757;p=php - Implemented callback filter. --- diff --git a/ext/filter/callback_filter.c b/ext/filter/callback_filter.c index df0cb05a41..79ed4f5b51 100644 --- a/ext/filter/callback_filter.c +++ b/ext/filter/callback_filter.c @@ -20,4 +20,17 @@ void php_filter_callback(PHP_INPUT_FILTER_PARAM_DECL) { + char *name; + zval *args[1]; + + if (!zend_is_callable(option_array, IS_CALLABLE_CHECK_NO_ACCESS, &name)) { + php_error_docref1(NULL TSRMLS_CC, name, E_WARNING, "First argument is expected to be a valid callback"); + efree(name); + Z_TYPE_P(value) = IS_NULL; + return; + } + + args[0] = value; + + call_user_function(EG(function_table), NULL, option_array, value, 1, args TSRMLS_CC); }