}
-static void register_standard_class(void)
+static void register_standard_class(TSRMLS_D)
{
zend_standard_class_def = malloc(sizeof(zend_class_entry));
zend_standard_class_def->name = zend_strndup("stdClass", zend_standard_class_def->name_length);
zend_standard_class_def->name_length = sizeof("stdClass") - 1;
zend_standard_class_def->parent = NULL;
- zend_initialize_class_data(zend_standard_class_def, 1);
+ zend_initialize_class_data(zend_standard_class_def, 1 TSRMLS_CC);
zend_hash_add(GLOBAL_CLASS_TABLE, "stdclass", sizeof("stdclass"), &zend_standard_class_def, sizeof(zend_class_entry *), NULL);
}
zend_hash_init_ex(GLOBAL_FUNCTION_TABLE, 100, NULL, ZEND_FUNCTION_DTOR, 1, 0);
zend_hash_init_ex(GLOBAL_CLASS_TABLE, 10, NULL, ZEND_CLASS_DTOR, 1, 0);
- register_standard_class();
zend_hash_init_ex(&module_registry, 50, NULL, ZEND_MODULE_DTOR, 1, 0);
zend_init_rsrc_list_dtors();
EG(user_error_handler) = NULL;
EG(user_exception_handler) = NULL;
#endif
+ register_standard_class(TSRMLS_C);
zend_register_standard_constants(TSRMLS_C);
#ifndef ZTS
do_inherit_parent_constructor(ce);
}
-static void create_class(HashTable *class_table, char *name, int name_length, zend_class_entry **ce)
+static void create_class(HashTable *class_table, char *name, int name_length, zend_class_entry **ce TSRMLS_DC)
{
zend_class_entry *new_class_entry;
new_class_entry->name = estrndup(name, name_length);
new_class_entry->name_length = name_length;
new_class_entry->parent = NULL;
- zend_initialize_class_data(new_class_entry, 1);
+ zend_initialize_class_data(new_class_entry, 1 TSRMLS_CC);
zend_str_tolower(new_class_entry->name, new_class_entry->name_length);
#include "../TSRM/tsrm_strtok_r.h"
-static int create_nested_class(HashTable *class_table, char *path, zend_class_entry *new_ce)
+static int create_nested_class(HashTable *class_table, char *path, zend_class_entry *new_ce TSRMLS_DC)
{
char *cur, *temp;
char *last;
cur = tsrm_strtok_r(path, ":", &temp);
if (zend_hash_find(class_table, cur, strlen(cur)+1, (void **)&pce) == FAILURE) {
- create_class(class_table, cur, strlen(cur), &ce);
+ create_class(class_table, cur, strlen(cur), &ce TSRMLS_CC);
} else {
ce = *pce;
}
break;
}
if (zend_hash_find(&ce->class_table, last, strlen(last)+1, (void **)&pce) == FAILURE) {
- create_class(&ce->class_table, last, strlen(last), &ce);
+ create_class(&ce->class_table, last, strlen(last), &ce TSRMLS_CC);
} else {
ce = *pce;
}
}
-ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table)
+ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table TSRMLS_DC)
{
zend_class_entry *ce, **pce;
ce = *pce;
}
if (strchr(opline->op2.u.constant.value.str.val, ':')) {
- return create_nested_class(class_table, opline->op2.u.constant.value.str.val, ce);
+ return create_nested_class(class_table, opline->op2.u.constant.value.str.val, ce TSRMLS_CC);
}
ce->refcount++;
if (zend_hash_add(class_table, opline->op2.u.constant.value.str.val, opline->op2.u.constant.value.str.len+1, &ce, sizeof(zend_class_entry *), NULL)==FAILURE) {
}
}
-ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce)
+ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce TSRMLS_DC)
{
zend_class_entry *ce, **pce;
int found_ce;
zend_do_inheritance(ce, parent_ce);
if (strchr(opline->op2.u.constant.value.str.val, ':')) {
- return create_nested_class(class_table, opline->op2.u.constant.value.str.val, ce);
+ return create_nested_class(class_table, opline->op2.u.constant.value.str.val, ce TSRMLS_CC);
}
ce->refcount++;
new_class_entry->type = ZEND_USER_CLASS;
new_class_entry->parent = NULL;
- zend_initialize_class_data(new_class_entry, 1);
+ zend_initialize_class_data(new_class_entry, 1 TSRMLS_CC);
if (parent_class_name->op_type != IS_UNUSED) {
doing_inheritance = 1;
FREE_PNODE(var_name);
}
-void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers)
+void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers TSRMLS_DC)
{
zend_bool persistent_hashes = (ce->type == ZEND_INTERNAL_CLASS) ? 1 : 0;
void zend_do_throw(znode *expr TSRMLS_DC);
ZEND_API int do_bind_function(zend_op *opline, HashTable *function_table, HashTable *class_table, int compile_time);
-ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table);
-ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce);
+ZEND_API int do_bind_class(zend_op *opline, HashTable *function_table, HashTable *class_table TSRMLS_DC);
+ZEND_API int do_bind_inherited_class(zend_op *opline, HashTable *function_table, HashTable *class_table, zend_class_entry *parent_ce TSRMLS_DC);
void zend_do_inheritance(zend_class_entry *ce, zend_class_entry *parent_ce);
void zend_do_early_binding(TSRMLS_D);
zend_brk_cont_element *get_next_brk_cont_element(zend_op_array *op_array);
ZEND_API zend_bool zend_is_compiling(TSRMLS_D);
ZEND_API char *zend_make_compiled_string_description(char *name TSRMLS_DC);
-void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers);
+void zend_initialize_class_data(zend_class_entry *ce, zend_bool nullify_handlers TSRMLS_DC);
int zend_register_auto_global(char *name, uint name_len TSRMLS_DC);