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