]> granicus.if.org Git - php/commitdiff
MFH change zend_object_handlers->get_method()
authorMarcus Boerger <helly@php.net>
Sat, 30 Oct 2004 19:16:39 +0000 (19:16 +0000)
committerMarcus Boerger <helly@php.net>
Sat, 30 Oct 2004 19:16:39 +0000 (19:16 +0000)
Zend/zend_execute.c
Zend/zend_object_handlers.c
Zend/zend_object_handlers.h

index f84a77ba9236ff7a4d53a982ca55403c303331af..cb2c4b049e2837b6d188eb1162c85d1d4682229c 100644 (file)
@@ -2514,7 +2514,7 @@ int zend_init_method_call_handler(ZEND_OPCODE_HANDLER_ARGS)
                }
 
                /* First, locate the function. */
-               EX(fbc) = Z_OBJ_HT_P(EX(object))->get_method(EX(object), function_name_strval, function_name_strlen TSRMLS_CC);
+               EX(fbc) = Z_OBJ_HT_P(EX(object))->(&EX(object), function_name_strval, function_name_strlen TSRMLS_CC);
                if (!EX(fbc)) {
                        zend_error(E_ERROR, "Call to undefined method %s::%s()", Z_OBJ_CLASS_NAME_P(EX(object)), function_name_strval);
                }
index 7965bb0eb3f0ce96e5b3dc19db57d96823a909fb..8b7d5bbff00ab01da9ca5d0495bcdebd00f88c0d 100644 (file)
@@ -666,11 +666,12 @@ ZEND_API int zend_check_protected(zend_class_entry *ce, zend_class_entry *scope)
 }
 
 
-static union _zend_function *zend_std_get_method(zval *object, char *method_name, int method_len TSRMLS_DC)
+static union _zend_function *zend_std_get_method(zval **object_ptr, char *method_name, int method_len TSRMLS_DC)
 {
        zend_object *zobj;
        zend_function *fbc;
        char *lc_method_name;
+       zval *object = *object_ptr;
        
        lc_method_name = do_alloca(method_len+1);
        /* Create a zend_copy_str_tolower(dest, src, src_length); */
index 4c8d12eda38023ad2af30f92c23777709d14e339..92016789b07e8befab083020c73877aed25af21e 100644 (file)
@@ -79,7 +79,7 @@ typedef HashTable *(*zend_object_get_properties_t)(zval *object TSRMLS_DC);
 /* Andi - EX(fbc) (function being called) needs to be initialized already in the INIT fcall opcode so that the parameters can be parsed the right way. We need to add another callback for this.
  */
 typedef int (*zend_object_call_method_t)(char *method, INTERNAL_FUNCTION_PARAMETERS);
-typedef union _zend_function *(*zend_object_get_method_t)(zval *object, char *method, int method_len TSRMLS_DC);
+typedef union _zend_function *(*zend_object_get_method_t)(zval **object_ptr, char *method, int method_len TSRMLS_DC);
 typedef union _zend_function *(*zend_object_get_constructor_t)(zval *object TSRMLS_DC);
 
 /* Object maintenance/destruction */