]> granicus.if.org Git - php/commitdiff
- MFH
authorMarcus Boerger <helly@php.net>
Wed, 25 Jan 2006 22:03:18 +0000 (22:03 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 25 Jan 2006 22:03:18 +0000 (22:03 +0000)
Zend/zend_API.c

index 30b9c454cf5b3793c7e5314750fd2496aa5dfe91..82223309ed0205c650d2f98c9971555f6069bd86 100644 (file)
@@ -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;