felipe Wed Jul 23 19:33:58 2008 UTC Modified files: /php-src/ext/standard assert.c basic_functions.c /php-src/ext/standard/tests/assert assert04.phpt assert_error1.phpt Log: - New parameter parsing API http://cvs.php.net/viewvc.cgi/php-src/ext/standard/assert.c?r1=1.76&r2=1.77&diff_format=u Index: php-src/ext/standard/assert.c diff -u php-src/ext/standard/assert.c:1.76 php-src/ext/standard/assert.c:1.77 --- php-src/ext/standard/assert.c:1.76 Mon Dec 31 07:12:15 2007 +++ php-src/ext/standard/assert.c Wed Jul 23 19:33:58 2008 @@ -16,7 +16,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: assert.c,v 1.76 2007/12/31 07:12:15 sebastian Exp $ */ +/* $Id: assert.c,v 1.77 2008/07/23 19:33:58 felipe Exp $ */ /* {{{ includes */ #include "php.h" @@ -149,8 +149,8 @@ RETURN_TRUE; } - if (ZEND_NUM_ARGS() != 1 || zend_get_parameters_ex(1, &assertion) == FAILURE) { - WRONG_PARAM_COUNT; + if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Z", &assertion) == FAILURE) { + return; } if (Z_TYPE_PP(assertion) == IS_STRING || Z_TYPE_PP(assertion) == IS_UNICODE) { @@ -262,17 +262,16 @@ Set/get the various assert flags */ PHP_FUNCTION(assert_options) { - zval **what, **value; + zval **value; + long what; int oldint; int ac = ZEND_NUM_ARGS(); - if (ac < 1 || ac > 2 || zend_get_parameters_ex(ac, &what, &value) == FAILURE) { - WRONG_PARAM_COUNT; + if (zend_parse_parameters(ac TSRMLS_CC, "l|Z", &what, &value) == FAILURE) { + return; } - convert_to_long_ex(what); - - switch (Z_LVAL_PP(what)) { + switch (what) { case ASSERT_ACTIVE: oldint = ASSERTG(active); if (ac == 2) { @@ -328,7 +327,7 @@ break; default: - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown value %ld", Z_LVAL_PP(what)); + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Unknown value %ld", what); break; } http://cvs.php.net/viewvc.cgi/php-src/ext/standard/basic_functions.c?r1=1.905&r2=1.906&diff_format=u Index: php-src/ext/standard/basic_functions.c diff -u php-src/ext/standard/basic_functions.c:1.905 php-src/ext/standard/basic_functions.c:1.906 --- php-src/ext/standard/basic_functions.c:1.905 Mon Jul 21 11:27:45 2008 +++ php-src/ext/standard/basic_functions.c Wed Jul 23 19:33:58 2008 @@ -17,7 +17,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: basic_functions.c,v 1.905 2008/07/21 11:27:45 jani Exp $ */ +/* $Id: basic_functions.c,v 1.906 2008/07/23 19:33:58 felipe Exp $ */ #include "php.h" #include "php_streams.h" @@ -4928,65 +4928,17 @@ Send an error message somewhere */ PHP_FUNCTION(error_log) { - zval **string, **erropt = NULL, **option = NULL, **emailhead = NULL; - int opt_err = 0; char *message, *opt = NULL, *headers = NULL; + int message_len, opt_len, headers_len; + int opt_err = 0, argc = ZEND_NUM_ARGS(); + long erropt; - switch (ZEND_NUM_ARGS()) { - case 1: - if (zend_get_parameters_ex(1, &string) == FAILURE) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Argument 1 invalid"); - RETURN_FALSE; - } - break; - - case 2: - if (zend_get_parameters_ex(2, &string, &erropt) == FAILURE) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid arguments"); - RETURN_FALSE; - } - convert_to_long_ex(erropt); - opt_err = Z_LVAL_PP(erropt); - break; - - case 3: - if (zend_get_parameters_ex(3, &string, &erropt, &option) == FAILURE) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid arguments"); - RETURN_FALSE; - } - convert_to_long_ex(erropt); - opt_err = Z_LVAL_PP(erropt); - convert_to_string_ex(option); - opt = Z_STRVAL_PP(option); - break; - - case 4: - if (zend_get_parameters_ex (4, &string, &erropt, &option, &emailhead) == FAILURE) { - php_error_docref(NULL TSRMLS_CC, E_WARNING, "Invalid arguments"); - RETURN_FALSE; - } - break; - - default: - WRONG_PARAM_COUNT; - } - - convert_to_string_ex(string); - message = Z_STRVAL_PP(string); - - if (erropt != NULL) { - convert_to_long_ex(erropt); - opt_err = Z_LVAL_PP(erropt); - } - - if (option != NULL) { - convert_to_string_ex(option); - opt = Z_STRVAL_PP(option); + if (zend_parse_parameters(argc TSRMLS_CC, "s|lss", &message, &message_len, &erropt, &opt, &opt_len, &headers, &headers_len) == FAILURE) { + return; } - if (emailhead != NULL) { - convert_to_string_ex(emailhead); - headers = Z_STRVAL_PP(emailhead); + if (argc > 1) { + opt_err = erropt; } if (_php_error_log(opt_err, message, opt, headers TSRMLS_CC) == FAILURE) { http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/assert/assert04.phpt?r1=1.1&r2=1.2&diff_format=u Index: php-src/ext/standard/tests/assert/assert04.phpt diff -u php-src/ext/standard/tests/assert/assert04.phpt:1.1 php-src/ext/standard/tests/assert/assert04.phpt:1.2 --- php-src/ext/standard/tests/assert/assert04.phpt:1.1 Fri Dec 8 14:38:53 2006 +++ php-src/ext/standard/tests/assert/assert04.phpt Wed Jul 23 19:33:58 2008 @@ -30,11 +30,11 @@ ?> --EXPECTF-- -Warning: Wrong parameter count for assert() in %s on line %d +Warning: assert() expects exactly 1 parameter, 2 given in %s on line %d -Warning: Wrong parameter count for assert_options() in %s on line %d +Warning: assert_options() expects at most 2 parameters, 3 given in %s on line %d -Warning: assert_options(): Unknown value 0 in %s on line %d +Warning: assert_options() expects parameter 1 to be long, Unicode string given in %s on line %d Warning: assert(): Assertion failed in %s on line %d http://cvs.php.net/viewvc.cgi/php-src/ext/standard/tests/assert/assert_error1.phpt?r1=1.2&r2=1.3&diff_format=u Index: php-src/ext/standard/tests/assert/assert_error1.phpt diff -u php-src/ext/standard/tests/assert/assert_error1.phpt:1.2 php-src/ext/standard/tests/assert/assert_error1.phpt:1.3 --- php-src/ext/standard/tests/assert/assert_error1.phpt:1.2 Mon May 26 23:42:10 2008 +++ php-src/ext/standard/tests/assert/assert_error1.phpt Wed Jul 23 19:33:58 2008 @@ -34,11 +34,11 @@ //Catch recoverable error with handler var_dump($rc=assert('aa=sd+as+safsafasfaçsafçsafç')); --EXPECTF-- -Warning: Wrong parameter count for assert_options() in %s on line 14 +Warning: assert_options() expects at most 2 parameters, 3 given in %s on line %d NULL -Warning: assert_options(): Unknown value 0 in %s on line 18 -bool(false) +Warning: assert_options() expects parameter 1 to be long, Unicode string given in %s on line %d +NULL -Warning: Wrong parameter count for assert() in %s on line 22 +Warning: assert() expects exactly 1 parameter, 2 given in %s on line %d NULL
-- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php