dmitry          Tue Jun 21 08:10:52 2005 EDT

  Modified files:              
    /php-src    NEWS 
    /php-src/ext/standard       array.c 
  Log:
  Fixed bug #31213 (Sideeffects caused by fix of bug #29493)
  
  
http://cvs.php.net/diff.php/php-src/NEWS?r1=1.1943&r2=1.1944&ty=u
Index: php-src/NEWS
diff -u php-src/NEWS:1.1943 php-src/NEWS:1.1944
--- php-src/NEWS:1.1943 Mon Jun 20 18:34:55 2005
+++ php-src/NEWS        Tue Jun 21 08:10:50 2005
@@ -36,6 +36,7 @@
   PHP). (Marcus)
 - Fixed bug #31256 (PHP_EVAL_LIBLINE configure macro does not handle -pthread).
   (Jani)
+- Fixed bug #31213 (Sideeffects caused by fix of bug #29493). (Dmitry)
 - Fixed bug #31054 (safe_mode & open_basedir checks only check first 
   include_path value). (Ilia)
 - Fixed bug #29683 (headers_list() returns empty array). (Tony)
http://cvs.php.net/diff.php/php-src/ext/standard/array.c?r1=1.303&r2=1.304&ty=u
Index: php-src/ext/standard/array.c
diff -u php-src/ext/standard/array.c:1.303 php-src/ext/standard/array.c:1.304
--- php-src/ext/standard/array.c:1.303  Thu Jun 16 11:03:36 2005
+++ php-src/ext/standard/array.c        Tue Jun 21 08:10:51 2005
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
 */
 
-/* $Id: array.c,v 1.303 2005/06/16 15:03:36 wez Exp $ */
+/* $Id: array.c,v 1.304 2005/06/21 12:10:51 dmitry Exp $ */
 
 #include "php.h"
 #include "php_ini.h"
@@ -1449,7 +1449,11 @@
                                                
                                                *orig_var = *entry;
                                        } else {
-                                               (*entry)->is_ref = 1;
+                                               if ((*var_array)->refcount > 1) 
{
+                                                       
SEPARATE_ZVAL_TO_MAKE_IS_REF(entry);
+                                               } else {
+                                                       (*entry)->is_ref = 1;
+                                               }
                                                zval_add_ref(entry);
                                                
zend_hash_update(EG(active_symbol_table), final_name.c, final_name.len+1, (void 
**) entry, sizeof(zval *), NULL);
                                        }
@@ -1458,7 +1462,7 @@
                                        *data = **entry;
                                        zval_copy_ctor(data);
 
-                                       
ZEND_SET_SYMBOL(EG(active_symbol_table), final_name.c, data);
+                                       
ZEND_SET_SYMBOL_WITH_LENGTH(EG(active_symbol_table), final_name.c, 
final_name.len+1, data, 1, 0);
                                }
 
                                count++;

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to