com php-src: Update README.PARAMETER_PARSING_API: REA DME.PARAMETER_PARSING_API
| From: | Gustavo André dos Santos Lopes | Date: | Wed, 09 Jan 2013 16:16:40 +0000 |
| Subject: | com php-src: Update README.PARAMETER_PARSING_API: REA DME.PARAMETER_PARSING_API | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-71003@lists.php.net to get a copy of this message | ||
Commit: 428aec8ce36a65cbfda061e8438d14789199a404
Author: Gustavo Lopes <gustavo@icemobile.com> Wed, 9 Jan 2013 17:16:40 +0100
Parents: 07590e6e456349192272da5ccfe8becbaa57fc67
Branches: PHP-5.5 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=428aec8ce36a65cbfda061e8438d14789199a404
Log:
Update README.PARAMETER_PARSING_API
Changed paths:
M README.PARAMETER_PARSING_API
Diff:
diff --git a/README.PARAMETER_PARSING_API b/README.PARAMETER_PARSING_API
index 927e481..edcee0f 100644
--- a/README.PARAMETER_PARSING_API
+++ b/README.PARAMETER_PARSING_API
@@ -28,6 +28,17 @@ Both functions return SUCCESS or FAILURE depending on the result.
The auto-conversions are performed as necessary. Arrays, objects, and
resources cannot be auto-converted.
+PHP 5.5 includes a new function:
+
+int zend_parse_parameter(int flags, int arg_num TSRMLS_DC, zval **arg, const char *spec, ....);
+
+This function behaves like zend_parse_parameters_ex() except that instead of
+reading the arguments from the stack, it receives a single zval to convert
+(passed with double indirection). The passed zval may be changed in place as
+part of the conversion process.
+
+See also https://wiki.php.net/rfc/zpp_improv#expose_zend_parse_arg_as_zend_parse_parameter
+
Type specifiers
---------------
@@ -65,9 +76,13 @@ Type specifiers
will not be touched by the parsing function if they are not
passed to it.
/ - use SEPARATE_ZVAL_IF_NOT_REF() on the parameter it follows
- ! - the parameter it follows can be of specified type or NULL (applies
- to all specifiers except for 'b', 'l', and 'd'). If NULL is passed,
the
- results pointer is set to NULL as well.
+ ! - the parameter it follows can be of specified type or NULL. If NULL is
+ passed and the output for such type is a pointer, then the output
+ pointer is set to a native NULL pointer.
+ For 'b', 'l' and 'd', an extra argument of type zend_bool* must be
+ passed after the corresponding bool*, long* or double* arguments,
+ respectively. A non-zero value will be written to the zend_bool iif a
+ PHP NULL is passed.
Note on 64bit compatibility