(Nuno)
- Fixed bug #32160 (copying a file into itself leads to data loss). (Ilia)
- Fixed bug #31158 (array_splice on $GLOBALS crashes). (Dmitry)
+- Fixed bug #29253 (array_diff with $GLOBALS argument fails). (Dmitry)
11 Jul 2005, Version 4.4.0
- Added man pages for "phpize" and "php-config" scripts. (Jakub Vrana)
/* copy the argument array */
*return_value = **args[0];
zval_copy_ctor(return_value);
+ if (return_value->value.ht == &EG(symbol_table)) {
+ HashTable *ht;
+ zval *tmp;
+
+ ALLOC_HASHTABLE(ht);
+ zend_hash_init(ht, 0, NULL, ZVAL_PTR_DTOR, 0);
+ zend_hash_copy(ht, return_value->value.ht, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
+ return_value->value.ht = ht;
+ }
/* go through the lists and look for common values */
while (*ptrs[0]) {
/* copy the argument array */
*return_value = **args[0];
zval_copy_ctor(return_value);
+ if (return_value->value.ht == &EG(symbol_table)) {
+ HashTable *ht;
+ zval *tmp;
+
+ ALLOC_HASHTABLE(ht);
+ zend_hash_init(ht, 0, NULL, ZVAL_PTR_DTOR, 0);
+ zend_hash_copy(ht, return_value->value.ht, (copy_ctor_func_t) zval_add_ref, (void *) &tmp, sizeof(zval *));
+ return_value->value.ht = ht;
+ }
/* go through the lists and look for values of ptr[0]
that are not in the others */