]> granicus.if.org Git - php/commitdiff
cleanup
authorStanislav Malyshev <stas@php.net>
Tue, 25 Nov 2008 22:15:22 +0000 (22:15 +0000)
committerStanislav Malyshev <stas@php.net>
Tue, 25 Nov 2008 22:15:22 +0000 (22:15 +0000)
Zend/zend_API.c

index 0b505d933ae98e345facd1b72335bb12a706b7cf..324902d0fb90f25c51c980160be355b0adbc6289 100644 (file)
@@ -295,7 +295,7 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp
 {
        char *spec_walk = *spec;
        char c = *spec_walk++;
-       int return_null = 0, obj_array = 0;
+       int return_null = 0;
 
        /* scan through modifiers */
        while (1) {
@@ -452,7 +452,6 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp
                        }
                        break;
                case 'A':
-                               obj_array = 1;
                case 'a':
                        {
                                zval **p = va_arg(*va, zval **);
@@ -460,7 +459,7 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp
                                        *p = NULL;
                                        break;
                                }
-                               if (Z_TYPE_PP(arg) == IS_ARRAY || (Z_TYPE_PP(arg) == IS_OBJECT && obj_array != 0)) {
+                               if (Z_TYPE_PP(arg) == IS_ARRAY || (c == 'A' && Z_TYPE_PP(arg) == IS_OBJECT)) {
                                        *p = *arg;
                                } else {
                                        return "array";
@@ -468,7 +467,6 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp
                        }
                        break;
                case 'H':
-                               obj_array = 1;
                case 'h':
                        {
                                HashTable **p = va_arg(*va, HashTable **);
@@ -478,7 +476,7 @@ static char *zend_parse_arg_impl(int arg_num, zval **arg, va_list *va, char **sp
                                }
                                if (Z_TYPE_PP(arg) == IS_ARRAY) {
                                        *p = Z_ARRVAL_PP(arg);
-                               } else if(obj_array && Z_TYPE_PP(arg) == IS_OBJECT) {
+                               } else if(c == 'H' && Z_TYPE_PP(arg) == IS_OBJECT) {
                                        *p = HASH_OF(*arg);
                                        if(*p == NULL) {
                                                return "array";