]> granicus.if.org Git - php/commitdiff
- Implemented callback filter.
authorDerick Rethans <derick@php.net>
Mon, 26 Sep 2005 18:38:49 +0000 (18:38 +0000)
committerDerick Rethans <derick@php.net>
Mon, 26 Sep 2005 18:38:49 +0000 (18:38 +0000)
ext/filter/callback_filter.c

index df0cb05a41eea07ead19e10e70a47f5cd5ab607e..79ed4f5b51ac8cd714004d009a4b34650e39f6a3 100644 (file)
 
 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);
 }