cvs: php4(PHP_4_3) /ext/standard string.c /ext/standard/tests/strings bug22224.phpt

From: Date: Fri, 14 Feb 2003 18:44:51 +0000
Subject: cvs: php4(PHP_4_3) /ext/standard string.c /ext/standard/tests/strings bug22224.phpt
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-18826@lists.php.net to get a copy of this message
moriyoshi Fri Feb 14 13:44:51 2003 EDT Added files: (Branch: PHP_4_3) /php4/ext/standard/tests/strings bug22224.phpt Modified files: /php4/ext/standard string.c Log: MFH(r1.357): Fixed bug #22224 MFH: Added test case for the bug Index: php4/ext/standard/string.c diff -u php4/ext/standard/string.c:1.333.2.12 php4/ext/standard/string.c:1.333.2.13 --- php4/ext/standard/string.c:1.333.2.12 Mon Feb 10 14:37:27 2003 +++ php4/ext/standard/string.c Fri Feb 14 13:44:50 2003 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.333.2.12 2003/02/10 19:37:27 pollita Exp $ */ +/* $Id: string.c,v 1.333.2.13 2003/02/14 18:44:50 moriyoshi Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -836,7 +836,8 @@ while (zend_hash_get_current_data_ex(Z_ARRVAL_P(arr), (void **) &tmp, &pos) == SUCCESS) { - convert_to_string_ex(tmp); + SEPARATE_ZVAL(tmp); + convert_to_string(&tmp); smart_str_appendl(&implstr, Z_STRVAL_PP(tmp), Z_STRLEN_PP(tmp)); if (++i != numelems) { Index: php4/ext/standard/tests/strings/bug22224.phpt +++ php4/ext/standard/tests/strings/bug22224.phpt --TEST-- Bug #22224 (implode changes object references in array) --INI-- error_reporting=0 --FILE-- <?php class foo { } $a = new foo(); $arr = array(0=>&$a, 1=>&$a); var_dump(implode(",",$arr)); var_dump($arr) ?> --EXPECT-- string(13) "Object,Object" array(2) { [0]=> &object(foo)(0) { } [1]=> &object(foo)(0) { } }

« previous php.cvs (#18826) next »