iliaa Tue Oct 7 21:17:13 2003 EDT
Added files: (Branch: PHP_4_3)
/php-src/ext/standard/tests/array bug25758.phpt
Modified files:
/php-src NEWS
/php-src/ext/standard var.c
Log:
MFH: Fixed bug #25758 (var_export does not escape ' & \ inside array keys)
Index: php-src/NEWS
diff -u php-src/NEWS:1.1247.2.428 php-src/NEWS:1.1247.2.429
--- php-src/NEWS:1.1247.2.428 Tue Oct 7 06:04:51 2003
+++ php-src/NEWS Tue Oct 7 21:17:11 2003
@@ -5,6 +5,7 @@
POSIX compatible mode. (K.Kosako <kosako at sofnec.co.jp>, Moriyoshi)
- Fixed bug #25770 (Segfault with PHP and bison 1.875). ([EMAIL PROTECTED], Marcus)
- Fixed bug #25764 (ldap_get_option() crashes with unbound ldap link). (Jani)
+- Fixed bug #25758 (var_export does not escape ' & \ inside array keys). (Ilia)
- Fixed bug #25752 (ext/ncurses: ncurses.h instead of curses.h with BSD). (Jani)
- Fixed bug #25745 (ctype functions fail with non-ascii characters). (Moriyoshi)
- Fixed bug #25744 (make ZTS build of ext/sybase compile). (Ilia)
Index: php-src/ext/standard/var.c
diff -u php-src/ext/standard/var.c:1.150.2.10 php-src/ext/standard/var.c:1.150.2.11
--- php-src/ext/standard/var.c:1.150.2.10 Thu Aug 28 12:01:49 2003
+++ php-src/ext/standard/var.c Tue Oct 7 21:17:11 2003
@@ -256,7 +256,11 @@
if (hash_key->nKeyLength==0) { /* numeric key */
php_printf("%*c%ld => ", level + 1, ' ', hash_key->h);
} else { /* string key */
- php_printf("%*c'%s' => ", level + 1, ' ', hash_key->arKey);
+ char *key;
+ int key_len;
+ key = php_addcslashes(hash_key->arKey, strlen(hash_key->arKey),
&key_len, 0, "'\\", 2 TSRMLS_CC);
+ php_printf("%*c'%s' => ", level + 1, ' ', key);
+ efree(key);
}
php_var_export(zv, level + 2 TSRMLS_CC);
PUTS (",\n");
Index: php-src/ext/standard/tests/array/bug25758.phpt
+++ php-src/ext/standard/tests/array/bug25758.phpt
--TEST--
Bug #25758 (var_export does not escape ' & \ inside array keys)
--FILE--
<?php
$a = array ("quote'" => array("quote'"));
echo var_export($a, true);
?>
--EXPECT--
array (
'quote\'' =>
array (
0 => 'quote\'',
),
)
--
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php