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

index b450201eeb22d5b23bc6c39f4d0f192c5474473e..5e76ca453aadc1691351b47246a669ea4d137729 100644 (file)
@@ -432,20 +432,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 = 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;
@@ -703,7 +689,6 @@ int zend_startup(zend_utility_functions *utility_functions, char **extensions, i
                zend_startup_builtin_functions(TSRMLS_C);
        }
 
-       register_standard_class(TSRMLS_C);
        zend_register_standard_constants(TSRMLS_C);
        zend_register_auto_global("GLOBALS", sizeof("GLOBALS") - 1, NULL TSRMLS_CC);
 
index e29195df77912c7707ec2eccfd2147917b0e2e87..46d25d25a8cb151912daa64d0cff0a3aaa5dd6df 100644 (file)
@@ -286,11 +286,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,