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

index 2613367843d9155c76b03a5ac2cbba953966992d..21bd8172a8718f7b57e12f6630bdc115c2d93fbb 100644 (file)
@@ -319,7 +319,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;
        int alternate_form = 0;
        int return_orig_type = 0;
        zend_uchar orig_type;
@@ -687,7 +687,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 **);
@@ -695,7 +694,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";
@@ -703,7 +702,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 **);
@@ -713,7 +711,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";