bjori Mon Jun 26 17:23:39 2006 UTC
Added files: (Branch: PHP_5_2)
/php-src/ext/standard/tests/filters php_user_filter_01.phpt
php_user_filter_02.phpt
php_user_filter_03.phpt
Modified files:
/php-src/ext/standard user_filters.c
Log:
MFH: argument info for php_user_filter
Add tests
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/user_filters.c?r1=1.31.2.4&r2=1.31.2.4.2.1&diff_format=u
Index: php-src/ext/standard/user_filters.c
diff -u php-src/ext/standard/user_filters.c:1.31.2.4
php-src/ext/standard/user_filters.c:1.31.2.4.2.1
--- php-src/ext/standard/user_filters.c:1.31.2.4 Thu Mar 30 21:10:23 2006
+++ php-src/ext/standard/user_filters.c Mon Jun 26 17:23:38 2006
@@ -18,7 +18,7 @@
+----------------------------------------------------------------------+
*/
-/* $Id: user_filters.c,v 1.31.2.4 2006/03/30 21:10:23 tony2001 Exp $ */
+/* $Id: user_filters.c,v 1.31.2.4.2.1 2006/06/26 17:23:38 bjori Exp $ */
#include "php.h"
#include "php_globals.h"
@@ -54,11 +54,26 @@
PHP_FUNCTION(user_filter_nop)
{
}
+static
+ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_filter, 0)
+ ZEND_ARG_INFO(0, in)
+ ZEND_ARG_INFO(0, out)
+ ZEND_ARG_INFO(1, consumed)
+ ZEND_ARG_INFO(0, closing)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_onCreate, 0)
+ZEND_END_ARG_INFO()
+
+static
+ZEND_BEGIN_ARG_INFO(arginfo_php_user_filter_onClose, 0)
+ZEND_END_ARG_INFO()
static zend_function_entry user_filter_class_funcs[] = {
- PHP_NAMED_FE(filter, PHP_FN(user_filter_nop), NULL)
- PHP_NAMED_FE(onCreate, PHP_FN(user_filter_nop), NULL)
- PHP_NAMED_FE(onClose, PHP_FN(user_filter_nop), NULL)
+ PHP_NAMED_FE(filter, PHP_FN(user_filter_nop),
arginfo_php_user_filter_filter)
+ PHP_NAMED_FE(onCreate, PHP_FN(user_filter_nop),
arginfo_php_user_filter_onCreate)
+ PHP_NAMED_FE(onClose, PHP_FN(user_filter_nop),
arginfo_php_user_filter_onClose)
{ NULL, NULL, NULL }
};
@@ -75,11 +90,14 @@
PHP_MINIT_FUNCTION(user_filters)
{
+ zend_class_entry *php_user_filter;
/* init the filter class ancestor */
INIT_CLASS_ENTRY(user_filter_class_entry, "php_user_filter",
user_filter_class_funcs);
- if (NULL == zend_register_internal_class(&user_filter_class_entry
TSRMLS_CC)) {
+ if ((php_user_filter =
zend_register_internal_class(&user_filter_class_entry TSRMLS_CC)) == NULL) {
return FAILURE;
}
+ zend_declare_property_string(php_user_filter, "filtername",
sizeof("filtername")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC);
+ zend_declare_property_string(php_user_filter, "params",
sizeof("params")-1, "", ZEND_ACC_PUBLIC TSRMLS_CC);
/* init the filter resource; it has no dtor, as streams will always
clean it up
* at the correct time */
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/filters/php_user_filter_01.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/filters/php_user_filter_01.phpt
+++ php-src/ext/standard/tests/filters/php_user_filter_01.phpt
--TEST--
class php_user_filter#1
--FILE--
<?php
class foo extends php_user_filter {
function filter($in, $out, &$consumed, $closing) {}
function onCreate() {}
function onClose() {}
}
class bar extends php_user_filter {
function filter($in, $out, &$consumed) {}
function onCreate() {}
function onClose() {}
}
?>
--EXPECTF--
Fatal error: Declaration of bar::filter() must be compatible with that of
php_user_filter::filter() in %s on line %d
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/filters/php_user_filter_02.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/filters/php_user_filter_02.phpt
+++ php-src/ext/standard/tests/filters/php_user_filter_02.phpt
--TEST--
class php_user_filter#2
--FILE--
<?php
class foo extends php_user_filter {
function filter($in, $out, $consumed, $closing) {}
function onCreate() {}
function onClose() {}
}
?>
--EXPECTF--
Fatal error: Declaration of foo::filter() must be compatible with that of
php_user_filter::filter() in %s on line %d
http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/filters/php_user_filter_03.phpt?view=markup&rev=1.1
Index: php-src/ext/standard/tests/filters/php_user_filter_03.phpt
+++ php-src/ext/standard/tests/filters/php_user_filter_03.phpt
--TEST--
class php_user_filter#3
--FILE--
<?php
class foo extends php_user_filter {
function filter($in, $out, &$consumed, $closing) {}
function onCreate($var) {}
function onClose() {}
}
?>
--EXPECTF--
Fatal error: Declaration of foo::onCreate() must be compatible with that of
php_user_filter::onCreate() in %s on line %d
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php