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

Reply via email to