Ok, I know ive already posted this but no responded. So I'll do it again.
Currently call_user_function() doesn't call overloaded class methods. I hacked together a function to get around this. Does anyone want to look at it and see if it's gunna mess anything up as far as zend execution. if not put it in as part as the normal call_user_function. int my_call_user_function(HashTable *function_table, zval **object_pp, zval *function_name, zval *retval_ptr, int param_count, zval *params[] TSRMLS_DC) { if(call_user_function(function_table, object_pp, function_name, retval_ptr, param_count, params TSRMLS_CC) == FAILURE) { if(Z_OBJCE_PP(object_pp)->handle_function_call != NULL) { zend_overloaded_element overloaded_element; zend_property_reference property_reference; zend_function_state function_state; zend_function_state *original_function_state_ptr; int i; overloaded_element.element = *function_name; overloaded_element.type = OE_IS_METHOD; function_state.function = (zend_function *) emalloc(sizeof(zend_function)); function_state.function->type = ZEND_OVERLOADED_FUNCTION; function_state.function->common.arg_types = NULL; function_state.function->overloaded_function.function_name = Z_STRVAL_P(function_name); property_reference.object = *object_pp; property_reference.type = BP_VAR_NA; property_reference.elements_list = (zend_llist *)emalloc(sizeof(zend_llist)); zend_llist_init(property_reference.elements_list, sizeof(zend_overloaded_element), NULL, 0); zend_llist_add_element(property_reference.elements_list, &overloaded_element); //Build argument stack for(i = 0;i < param_count;i++) zend_ptr_stack_push(&EG(argument_stack), params[i]); zend_ptr_stack_n_push(&EG(argument_stack), 2, (void *)param_count, NULL); EG(function_state_ptr) = &function_state; Z_OBJCE_PP(object_pp)->handle_function_call(param_count, retval_ptr, *object_pp, 1 TSRMLS_CC, &property_reference); EG(function_state_ptr) = original_function_state_ptr; zend_llist_destroy(property_reference.elements_list); efree(property_reference.elements_list); efree(function_state.function); zend_ptr_stack_clear_multiple(TSRMLS_C); return SUCCESS; } } } __________________________________________________ Do You Yahoo!? Yahoo! Sports - Coverage of the 2002 Olympic Games http://sports.yahoo.com -- PHP Development Mailing List <http://www.php.net/> To unsubscribe, visit: http://www.php.net/unsub.php