summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2006-01-25 22:03:18 +0000
committerMarcus Boerger <helly@php.net>2006-01-25 22:03:18 +0000
commit77915bc208da914b657bb7b27a95d6ac3c4db166 (patch)
tree42768dc010755ef3ae7bfa4b01da27ec3668c183
parentec605ac2ad50188465a694d9d9280f66f8a37538 (diff)
downloadphp-git-77915bc208da914b657bb7b27a95d6ac3c4db166.tar.gz
- MFH
-rw-r--r--Zend/zend_API.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 30b9c454cf..82223309ed 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -445,6 +445,21 @@ static char *zend_parse_arg_impl(zval **arg, va_list *va, char **spec TSRMLS_DC)
}
break;
+ case 'h':
+ {
+ HashTable **p = va_arg(*va, HashTable **);
+ if (Z_TYPE_PP(arg) != IS_ARRAY) {
+ if (Z_TYPE_PP(arg) == IS_NULL && return_null) {
+ *p = NULL;
+ } else {
+ return "array";
+ }
+ } else {
+ *p = Z_ARRVAL_PP(arg);
+ }
+ }
+ break;
+
case 'o':
{
zval **p = va_arg(*va, zval **);
@@ -545,6 +560,7 @@ static int zend_parse_va_args(int num_args, char *type_spec, va_list *va, int fl
case 'r': case 'a':
case 'o': case 'O':
case 'z': case 'Z':
+ case 'h':
max_num_args++;
break;