felipe                                   Thu, 22 Apr 2010 23:25:05 +0000

Revision: http://svn.php.net/viewvc?view=revision&revision=298353

Log:
- Fix zend_hash_apply_with_arguments() calls on ZTS

Changed paths:
    U   php/php-src/trunk/Zend/zend_compile.c

Modified: php/php-src/trunk/Zend/zend_compile.c
===================================================================
--- php/php-src/trunk/Zend/zend_compile.c       2010-04-22 23:23:10 UTC (rev 
298352)
+++ php/php-src/trunk/Zend/zend_compile.c       2010-04-22 23:25:05 UTC (rev 
298353)
@@ -3451,7 +3451,7 @@

                _ADD_MAGIC_METHOD(ce, hash_key->arKey, hash_key->nKeyLength, 
fn);
                /* it could be necessary to update child classes as well */
-               /* zend_hash_apply_with_arguments(EG(class_table), 
(apply_func_args_t)php_runkit_update_children_methods, 5, dce, dce, &dfe, 
dfunc, dfunc_len); */
+               /* zend_hash_apply_with_arguments(EG(class_table) TSRMLS_CC, 
(apply_func_args_t)php_runkit_update_children_methods, 5, dce, dce, &dfe, 
dfunc, dfunc_len); */
        } else {
                zend_function_dtor(fn);
                /* efree(fn); */
@@ -3576,8 +3576,8 @@
 /**
 * Copies function table entries to target function table with applied aliasing
 */
-void copy_trait_function_table(HashTable *target, HashTable *source, 
zend_trait_alias** aliases, HashTable* exclude_table) {
-       zend_hash_apply_with_arguments(source, 
(apply_func_args_t)_copy_functions, 3, /* 3 is number of args for apply_func */
+void copy_trait_function_table(HashTable *target, HashTable *source, 
zend_trait_alias** aliases, HashTable* exclude_table TSRMLS_DC) {
+       zend_hash_apply_with_arguments(source TSRMLS_CC, 
(apply_func_args_t)_copy_functions, 3, /* 3 is number of args for apply_func */
                        target, aliases, exclude_table);
 }

@@ -3683,13 +3683,13 @@
                compile_exclude_table(&exclude_table, ce->trait_precedences, 
ce->traits[i]);

                /* copies functions, applies defined aliasing, and excludes 
unused trait methods */
-               copy_trait_function_table(function_tables[i], 
&ce->traits[i]->function_table, ce->trait_aliases, &exclude_table);
+               copy_trait_function_table(function_tables[i], 
&ce->traits[i]->function_table, ce->trait_aliases, &exclude_table TSRMLS_CC);
                zend_hash_graceful_destroy(&exclude_table);
        }

        /* now merge trait methods */
        for (i = 0; i < ce->num_traits; i++) {
-               zend_hash_apply_with_arguments(function_tables[i], 
(apply_func_args_t)_merge_functions, 5, /* 5 is number of args for apply_func */
+               zend_hash_apply_with_arguments(function_tables[i] TSRMLS_CC, 
(apply_func_args_t)_merge_functions, 5, /* 5 is number of args for apply_func */
                                                i, ce->num_traits, 
resulting_table, function_tables, ce);
        }

@@ -3699,7 +3699,7 @@
           if there is already a method with the same name it is replaced iff 
ce != fn.scope
           --> all inherited methods are overridden, methods defined in the 
class are leaved
           untouched */
-       zend_hash_apply_with_arguments(resulting_table, 
(apply_func_args_t)_merge_functions_to_class, 1, ce TSRMLS_CC);
+       zend_hash_apply_with_arguments(resulting_table TSRMLS_CC, 
(apply_func_args_t)_merge_functions_to_class, 1, ce);

        /* free temporary function tables */
        for (i = 0; i < ce->num_traits; i++) {

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

Reply via email to