cvs: php4(PHP_4_3) /ext/standard string.c

From: Date: Fri, 16 May 2003 23:24:55 +0000
Subject: cvs: php4(PHP_4_3) /ext/standard string.c
Groups: php.cvs 
Request: Send a blank email to php-cvs+get-20980@lists.php.net to get a copy of this message
pollita Fri May 16 19:24:55 2003 EDT Modified files: (Branch: PHP_4_3) /php4/ext/standard string.c Log: Bugfix 23654. If subject is an array and it contains other arrays, we want to pass those subarrays through unchanged rather than attempt to convert them to string. Index: php4/ext/standard/string.c diff -u php4/ext/standard/string.c:1.333.2.26 php4/ext/standard/string.c:1.333.2.27 --- php4/ext/standard/string.c:1.333.2.26 Fri May 16 02:21:39 2003 +++ php4/ext/standard/string.c Fri May 16 19:24:55 2003 @@ -18,7 +18,7 @@ +----------------------------------------------------------------------+ */ -/* $Id: string.c,v 1.333.2.26 2003/05/16 06:21:39 moriyoshi Exp $ */ +/* $Id: string.c,v 1.333.2.27 2003/05/16 23:24:55 pollita Exp $ */ /* Synced with php 3.0 revision 1.193 1999-06-16 [ssb] */ @@ -2726,8 +2726,12 @@ /* For each subject entry, convert it to string, then perform replacement and add the result to the return_value array. */ while (zend_hash_get_current_data(Z_ARRVAL_PP(subject), (void **)&subject_entry) == SUCCESS) { - MAKE_STD_ZVAL(result); - php_str_replace_in_subject(*search, *replace, subject_entry, result); + if (Z_TYPE_PP(subject_entry) != IS_ARRAY && Z_TYPE_PP(subject_entry) != IS_OBJECT) { + MAKE_STD_ZVAL(result); + php_str_replace_in_subject(*search, *replace, subject_entry, result); + } else { + result = *subject_entry; + } /* Add to return array */ switch (zend_hash_get_current_key_ex(Z_ARRVAL_PP(subject), &string_key, &string_key_len, &num_key, 0, NULL)) {

« previous php.cvs (#20980) next »