diff options
-rwxr-xr-x | ext/standard/basic_functions.c | 5 | ||||
-rw-r--r-- | ext/standard/basic_functions.h | 1 | ||||
-rw-r--r-- | ext/standard/incomplete_class.c | 11 | ||||
-rw-r--r-- | ext/standard/php_incomplete_class.h | 9 |
4 files changed, 11 insertions, 15 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c index b2b30a05e4..9eeed75b04 100755 --- a/ext/standard/basic_functions.c +++ b/ext/standard/basic_functions.c @@ -108,8 +108,6 @@ PHPAPI php_basic_globals basic_globals; #include "streamsfuncs.h" #include "basic_functions_arginfo.h" -static zend_class_entry *incomplete_class_entry = NULL; - typedef struct _user_tick_function_entry { zval *arguments; int arg_count; @@ -220,7 +218,6 @@ static void basic_globals_ctor(php_basic_globals *basic_globals_p) /* {{{ */ memset(&BG(mblen_state), 0, sizeof(BG(mblen_state))); #endif - BG(incomplete_class) = incomplete_class_entry; BG(page_uid) = -1; BG(page_gid) = -1; } @@ -285,7 +282,7 @@ PHP_MINIT_FUNCTION(basic) /* {{{ */ #endif #endif - BG(incomplete_class) = incomplete_class_entry = php_create_incomplete_class(); + php_register_incomplete_class(); REGISTER_LONG_CONSTANT("CONNECTION_ABORTED", PHP_CONNECTION_ABORTED, CONST_CS | CONST_PERSISTENT); REGISTER_LONG_CONSTANT("CONNECTION_NORMAL", PHP_CONNECTION_NORMAL, CONST_CS | CONST_PERSISTENT); diff --git a/ext/standard/basic_functions.h b/ext/standard/basic_functions.h index 52db18ce85..8308904e50 100644 --- a/ext/standard/basic_functions.h +++ b/ext/standard/basic_functions.h @@ -97,7 +97,6 @@ typedef struct _php_basic_globals { char *syslog_device; /* var.c */ - zend_class_entry *incomplete_class; unsigned serialize_lock; /* whether to use the locally supplied var_hash instead (__sleep/__wakeup) */ struct { struct php_serialize_data *data; diff --git a/ext/standard/incomplete_class.c b/ext/standard/incomplete_class.c index 34edaa0e23..2c847fd4fe 100644 --- a/ext/standard/incomplete_class.c +++ b/ext/standard/incomplete_class.c @@ -26,6 +26,7 @@ "unserialize() gets called or provide an autoloader " \ "to load the class definition" +PHPAPI zend_class_entry *php_ce_incomplete_class; static zend_object_handlers php_incomplete_object_handlers; /* {{{ incomplete_class_message */ @@ -104,9 +105,9 @@ static zend_object *php_create_incomplete_object(zend_class_entry *class_type) return object; } -PHPAPI zend_class_entry *php_create_incomplete_class(void) +PHPAPI void php_register_incomplete_class(void) { - zend_class_entry incomplete_class, *incomplete_class_entry; + zend_class_entry incomplete_class; INIT_CLASS_ENTRY(incomplete_class, INCOMPLETE_CLASS, NULL); @@ -120,10 +121,8 @@ PHPAPI zend_class_entry *php_create_incomplete_class(void) php_incomplete_object_handlers.get_property_ptr_ptr = incomplete_class_get_property_ptr_ptr; php_incomplete_object_handlers.get_method = incomplete_class_get_method; - incomplete_class_entry = zend_register_internal_class(&incomplete_class); - incomplete_class_entry->ce_flags |= ZEND_ACC_FINAL; - - return incomplete_class_entry; + php_ce_incomplete_class = zend_register_internal_class(&incomplete_class); + php_ce_incomplete_class->ce_flags |= ZEND_ACC_FINAL; } /* }}} */ diff --git a/ext/standard/php_incomplete_class.h b/ext/standard/php_incomplete_class.h index 03bd1daaca..c2cda0d6f0 100644 --- a/ext/standard/php_incomplete_class.h +++ b/ext/standard/php_incomplete_class.h @@ -19,12 +19,13 @@ #include "ext/standard/basic_functions.h" -#define PHP_IC_ENTRY \ - BG(incomplete_class) +extern PHPAPI zend_class_entry *php_ce_incomplete_class; + +#define PHP_IC_ENTRY php_ce_incomplete_class #define PHP_SET_CLASS_ATTRIBUTES(struc) \ /* OBJECTS_FIXME: Fix for new object model */ \ - if (Z_OBJCE_P(struc) == BG(incomplete_class)) { \ + if (Z_OBJCE_P(struc) == php_ce_incomplete_class) { \ class_name = php_lookup_class_name(Z_OBJ_P(struc)); \ if (!class_name) { \ class_name = zend_string_init(INCOMPLETE_CLASS, sizeof(INCOMPLETE_CLASS) - 1, 0); \ @@ -48,7 +49,7 @@ extern "C" { #endif -PHPAPI zend_class_entry *php_create_incomplete_class(void); +PHPAPI void php_register_incomplete_class(void); PHPAPI zend_string *php_lookup_class_name(zend_object *object); PHPAPI void php_store_class_name(zval *object, const char *name, size_t len); |