Skip to content

Commit 8140f09

Browse files
author
Andi Gutmans
committed
- Revert following patch until we decide what is the right way to handle
- this: - Fix signatures they are all meant to be able to deal with any type in any object storage (though we are still missing several parts)
1 parent 5caddd6 commit 8140f09

File tree

3 files changed

+5
-8
lines changed

3 files changed

+5
-8
lines changed

Zend/zend_objects.c

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,8 @@
2626
#include "zend_interfaces.h"
2727

2828

29-
ZEND_API void zend_objects_destroy_object(void *_object, zend_object_handle handle TSRMLS_DC)
29+
ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handle handle TSRMLS_DC)
3030
{
31-
zend_object *object = (zend_object*)_object;
3231
zend_function *destructor = object->ce->destructor;
3332

3433
if (destructor) {
@@ -87,10 +86,8 @@ ZEND_API void zend_objects_destroy_object(void *_object, zend_object_handle hand
8786
}
8887
}
8988

90-
ZEND_API void zend_objects_free_object_storage(void *_object TSRMLS_DC)
89+
ZEND_API void zend_objects_free_object_storage(zend_object *object TSRMLS_DC)
9190
{
92-
zend_object *object = (zend_object*)_object;
93-
9491
zend_hash_destroy(object->properties);
9592
FREE_HASHTABLE(object->properties);
9693
efree(object);

Zend/zend_objects.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,11 +26,11 @@
2626

2727
BEGIN_EXTERN_C()
2828
ZEND_API zend_object_value zend_objects_new(zend_object **object, zend_class_entry *class_type TSRMLS_DC);
29-
ZEND_API void zend_objects_destroy_object(void *object, zend_object_handle handle TSRMLS_DC);
29+
ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handle handle TSRMLS_DC);
3030
ZEND_API zend_object *zend_objects_get_address(zval *object TSRMLS_DC);
3131
ZEND_API void zend_objects_clone_members(zend_object *new_object, zend_object_value new_obj_val, zend_object *old_object, zend_object_handle handle TSRMLS_DC);
3232
ZEND_API zend_object_value zend_objects_clone_obj(zval *object TSRMLS_DC);
33-
ZEND_API void zend_objects_free_object_storage(void *object TSRMLS_DC);
33+
ZEND_API void zend_objects_free_object_storage(zend_object *object TSRMLS_DC);
3434
END_EXTERN_C()
3535

3636
#endif /* ZEND_OBJECTS_H */

Zend/zend_objects_API.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include "zend.h"
2626

2727
typedef void (*zend_objects_store_dtor_t)(void *object, zend_object_handle handle TSRMLS_DC);
28-
typedef void (*zend_objects_free_object_storage_t)(void *object TSRMLS_DC);
28+
typedef void (*zend_objects_free_object_storage_t)(zend_object *object TSRMLS_DC);
2929

3030
typedef void (*zend_objects_store_clone_t)(void *object, void **object_clone TSRMLS_DC);
3131

0 commit comments

Comments
 (0)