From: Marcus Boerger Date: Sun, 28 Dec 2003 15:18:05 +0000 (+0000) Subject: Fix order of class_entry member initialization (needed for example for DOM) X-Git-Tag: php_ibase_before_split~458 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=15964bb35d9c9ec10c2fdcd8fb1cae17b8592c6d;p=php Fix order of class_entry member initialization (needed for example for DOM) # You need to completley rebuild PHP after this patch. --- diff --git a/Zend/zend_API.h b/Zend/zend_API.h index 67818b860a..aab1d359ff 100644 --- a/Zend/zend_API.h +++ b/Zend/zend_API.h @@ -127,7 +127,9 @@ typedef struct _zend_function_entry { class_container.__call = handle_fcall; \ class_container.__get = handle_propget; \ class_container.__set = handle_propset; \ + class_container.parent = NULL; \ class_container.num_interfaces = 0; \ + class_container.interfaces = NULL; \ class_container.get_iterator = NULL; \ class_container.iterator_funcs.funcs = NULL; \ } diff --git a/Zend/zend_compile.c b/Zend/zend_compile.c index 16f320ef25..639ef3c6d8 100644 --- a/Zend/zend_compile.c +++ b/Zend/zend_compile.c @@ -3565,14 +3565,13 @@ ZEND_API void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify ce->__set = NULL; ce->__call = NULL; ce->create_object = NULL; + ce->get_iterator = NULL; + ce->iterator_funcs.funcs = NULL; + ce->interface_gets_implemented = NULL; + ce->parent = NULL; + ce->num_interfaces = 0; + ce->interfaces = NULL; } - - ce->parent = NULL; - ce->num_interfaces = 0; - ce->interfaces = NULL; - ce->get_iterator = NULL; - ce->iterator_funcs.funcs = NULL; - ce->interface_gets_implemented = NULL; }