]> granicus.if.org Git - php/commitdiff
MFH
authorStanislav Malyshev <stas@php.net>
Mon, 29 Apr 2002 16:03:57 +0000 (16:03 +0000)
committerStanislav Malyshev <stas@php.net>
Mon, 29 Apr 2002 16:03:57 +0000 (16:03 +0000)
ext/standard/var.c

index 1eefc30bf8001389e1c42063ac034d529f389e02..844c704163983dc2ce8160ffd6d75d8d3333fc20 100644 (file)
@@ -513,12 +513,14 @@ static void php_var_serialize_intern(smart_str *buf, zval **struc, HashTable *va
                        }
                case IS_ARRAY:
                        myht = HASH_OF(*struc);
-                       i = zend_hash_num_elements(myht);
                        if (Z_TYPE_PP(struc) == IS_ARRAY) {
                                smart_str_appendl(buf, "a:", 2);
                        } else {
                                php_var_serialize_class_name(buf, struc TSRMLS_CC);
                        }
+                       /* count after serializing name, since php_var_serialize_class_name
+                          changes the count if the variable is incomplete class */
+                       i = zend_hash_num_elements(myht);
                        smart_str_append_long(buf, i);
                        smart_str_appendl(buf, ":{", 2);
                        if (i > 0) {