arg->type = IS_OBJECT;
if (class_type->create_object == NULL) {
- arg->value.obj = zend_objects_new(&object, class_type);
+ arg->value.obj = zend_objects_new(&object, class_type TSRMLS_CC);
if (properties) {
object->properties = properties;
} else {
{
zend_object_value retval;
zend_object *intern;
- retval = zend_objects_new(&intern, class_type);
+ retval = zend_objects_new(&intern, class_type TSRMLS_CC);
ALLOC_HASHTABLE(intern->properties);
zend_hash_init(intern->properties, 0, NULL, ZVAL_PTR_DTOR, 0);
zend_error(E_WARNING, "%s() has been disabled for security reasons", class_type->name);
#define DEBUG_OBJECT_HANDLERS 0
-#define Z_OBJ_P(zval_p) zend_objects_get_address(zval_p)
+#define Z_OBJ_P(zval_p) zend_objects_get_address(zval_p TSRMLS_CC)
/*
__X accessors explanation:
efree(object);
}
-ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type)
+ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type TSRMLS_DC)
{
zend_object_value retval;
- TSRMLS_FETCH();
-
*object = emalloc(sizeof(zend_object));
(*object)->ce = class_type;
retval.handle = zend_objects_store_put(*object, (zend_objects_store_dtor_t) zend_objects_destroy_object, NULL TSRMLS_CC);
return retval;
}
-ZEND_API zend_object *zend_objects_get_address(zval *zobject)
+ZEND_API zend_object *zend_objects_get_address(zval *zobject TSRMLS_DC)
{
- TSRMLS_FETCH();
return (zend_object *)zend_object_store_get_object(zobject TSRMLS_CC);
}
zend_object *new_object;
zend_object_handle handle = Z_OBJ_HANDLE_P(zobject);
- old_object = zend_objects_get_address(zobject);
- retval = zend_objects_new(&new_object, old_object->ce);
+ old_object = zend_objects_get_address(zobject TSRMLS_CC);
+ retval = zend_objects_new(&new_object, old_object->ce TSRMLS_CC);
if (old_object->ce->clone) {
zval *old_obj;
#include "zend.h"
-ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type);
+ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type TSRMLS_DC);
ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handle handle TSRMLS_DC);
-ZEND_API zend_object *zend_objects_get_address(zval *object);
+ZEND_API zend_object *zend_objects_get_address(zval *object TSRMLS_DC);
ZEND_API zend_object_value zend_objects_clone_obj(zval *object TSRMLS_DC);
#endif /* ZEND_OBJECTS_H */