summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2003-12-28 15:18:05 +0000
committerMarcus Boerger <helly@php.net>2003-12-28 15:18:05 +0000
commit15964bb35d9c9ec10c2fdcd8fb1cae17b8592c6d (patch)
treeeebddc9b745f0a1b407f2fd5047da1d9c325fcd2
parent05c78af8545780e01e7e823464e1a8bfcb1b2988 (diff)
downloadphp-git-15964bb35d9c9ec10c2fdcd8fb1cae17b8592c6d.tar.gz
Fix order of class_entry member initialization (needed for example for DOM)
# You need to completley rebuild PHP after this patch.
-rw-r--r--Zend/zend_API.h2
-rw-r--r--Zend/zend_compile.c13
2 files changed, 8 insertions, 7 deletions
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;
}