]> granicus.if.org Git - php/commitdiff
- Move stdClass registering where it should be
authorMarcus Boerger <helly@php.net>
Wed, 31 Dec 2008 12:24:56 +0000 (12:24 +0000)
committerMarcus Boerger <helly@php.net>
Wed, 31 Dec 2008 12:24:56 +0000 (12:24 +0000)
Zend/zend.c
Zend/zend_builtin_functions.c

index 8abae6406f0b93acd8f506dced2e3f2657eea056..6c2bea66c62ca45829e1616d2b14b4acf5ec2518 100644 (file)
@@ -674,20 +674,6 @@ static FILE *zend_fopen_wrapper(const char *filename, char **opened_path TSRMLS_
 }
 /* }}} */
 
-static void register_standard_class(TSRMLS_D) /* {{{ */
-{
-       zend_standard_class_def = calloc(1, sizeof(zend_class_entry));
-
-       zend_standard_class_def->type = ZEND_INTERNAL_CLASS;
-       zend_standard_class_def->name_length = sizeof("stdClass") - 1;
-       zend_standard_class_def->name.s = zend_strndup("stdClass", zend_standard_class_def->name_length);
-       zend_initialize_class_data(zend_standard_class_def, 1 TSRMLS_CC);
-
-       zend_hash_add(CG(class_table), "stdclass", sizeof("stdclass"), &zend_standard_class_def, sizeof(zend_class_entry *), NULL);
-       zend_standard_class_def->module = EG(current_module);
-}
-/* }}} */
-
 #ifdef ZTS
 static zend_bool asp_tags_default                      = 0;
 static zend_bool short_tags_default                    = 1;
@@ -1161,7 +1147,6 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions TS
        EG(user_exception_handler) = NULL;
 #endif
 
-       register_standard_class(TSRMLS_C);
        zend_register_standard_constants(TSRMLS_C);
        zend_register_auto_global("GLOBALS", sizeof("GLOBALS") - 1, NULL TSRMLS_CC);
 
index bab8582bee45862db2b1faf36eeededbfc0b7371..66fb9a76faa68c38f66e0fd659aed2bd45135049 100644 (file)
@@ -291,11 +291,21 @@ static const zend_function_entry builtin_functions[] = { /* {{{ */
 };
 /* }}} */
 
+ZEND_MINIT_FUNCTION(core) { /* {{{ */
+       zend_class_entry class_entry;
+
+       INIT_CLASS_ENTRY(class_entry, "stdClass", NULL);
+       zend_standard_class_def = zend_register_internal_class(&class_entry TSRMLS_CC);
+
+       return SUCCESS;
+}
+/* }}} */
+
 zend_module_entry zend_builtin_module = { /* {{{ */
     STANDARD_MODULE_HEADER,
        "Core",
        builtin_functions,
-       NULL,
+       ZEND_MINIT(core),
        NULL,
        NULL,
        NULL,