]> granicus.if.org Git - php/commitdiff
- Fixed bug #31072 (var_export() does not output an array element with an empty
authorDerick Rethans <derick@php.net>
Fri, 17 Dec 2004 14:38:45 +0000 (14:38 +0000)
committerDerick Rethans <derick@php.net>
Fri, 17 Dec 2004 14:38:45 +0000 (14:38 +0000)
  string key). (Derick)

NEWS
ext/standard/tests/array/var_export2.phpt [new file with mode: 0644]
ext/standard/var.c

diff --git a/NEWS b/NEWS
index 877f89df9e622f2d7b4c8d3546a181600cadc042..bf67f0683e0587e58004b603908804778d157588 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -4,6 +4,8 @@ PHP 4                                                                      NEWS
 - Fixed bug #31111 (Compile failure of zend_strtod.c). (Derick)
 - Fixed bug #31110 (PHP 4.3.10 does not compile on Tru64 UNIX 5.1B). (Derick)
 - Fixed bug #31107 (Compile failure on Solaris 9 (Intel) and gcc 3.4.3). (Derick)
+- Fixed bug #31072 (var_export() does not output an array element with an empty
+  string key). (Derick)
 - Fixed bug #31056 (php_std_date() returns invalid formatted date if 
   y2k_compliance is On). (Ilia)
 
diff --git a/ext/standard/tests/array/var_export2.phpt b/ext/standard/tests/array/var_export2.phpt
new file mode 100644 (file)
index 0000000..2b8a1f9
Binary files /dev/null and b/ext/standard/tests/array/var_export2.phpt differ
index 632abf327be4a644e9ea27a17fa8930092b15d5f..1cb274c18d2cd28f017867f23c1d2cc135e30ce0 100644 (file)
@@ -267,17 +267,13 @@ static int php_array_element_export(zval **zv, int num_args, va_list args, zend_
        if (hash_key->nKeyLength==0) { /* numeric key */
                php_printf("%*c%ld => ", level + 1, ' ', hash_key->h);
        } else { /* string key */
-               if (va_arg(args, int) && hash_key->arKey[0] == '\0') {
-                       return 0;
-               } else {
-                       char *key;
-                       int key_len;
-                       key = php_addcslashes(hash_key->arKey, hash_key->nKeyLength - 1, &key_len, 0, "'\\", 2 TSRMLS_CC);
-                       php_printf("%*c'", level + 1, ' ');
-                       PHPWRITE(key, key_len);
-                       php_printf("' => ");
-                       efree(key);
-               }
+               char *key;
+               int key_len;
+               key = php_addcslashes(hash_key->arKey, hash_key->nKeyLength - 1, &key_len, 0, "'\\", 2 TSRMLS_CC);
+               php_printf("%*c'", level + 1, ' ');
+               PHPWRITE(key, key_len);
+               php_printf("' => ");
+               efree(key);
        }
        php_var_export(zv, level + 2 TSRMLS_CC);
        PUTS (",\n");