]> granicus.if.org Git - php/commitdiff
- Fix signatures they are all meant to be able to deal with any type in any
authorMarcus Boerger <helly@php.net>
Tue, 22 Feb 2005 12:06:59 +0000 (12:06 +0000)
committerMarcus Boerger <helly@php.net>
Tue, 22 Feb 2005 12:06:59 +0000 (12:06 +0000)
  object storage (though we are still missing several parts)

Zend/zend_objects.c
Zend/zend_objects.h
Zend/zend_objects_API.h

index 30f6297c3dc690498fd22e7a608b3c408a6d266f..d5579108c9f3990a9f4d8c4763145ba2d9f6b943 100644 (file)
@@ -26,8 +26,9 @@
 #include "zend_interfaces.h"
 
 
-ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handle handle TSRMLS_DC)
+ZEND_API void zend_objects_destroy_object(void *_object, zend_object_handle handle TSRMLS_DC)
 {
+       zend_object *object = (zend_object*)_object;
        zend_function *destructor = object->ce->destructor;
 
        if (destructor) {
@@ -86,8 +87,10 @@ ZEND_API void zend_objects_destroy_object(zend_object *object, zend_object_handl
        }
 }
 
-ZEND_API void zend_objects_free_object_storage(zend_object *object TSRMLS_DC)
+ZEND_API void zend_objects_free_object_storage(void *_object TSRMLS_DC)
 {
+       zend_object *object = (zend_object*)_object;
+
        zend_hash_destroy(object->properties);
        FREE_HASHTABLE(object->properties);
        efree(object);
index 047d611d45eb9fc84bb078bb130b6d713d3cb76e..a9aaf71175a90b359f4103a57761dc4de746ce90 100644 (file)
 
 BEGIN_EXTERN_C()
 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 void zend_objects_destroy_object(void *object, zend_object_handle handle TSRMLS_DC);
 ZEND_API zend_object *zend_objects_get_address(zval *object TSRMLS_DC);
 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);
 ZEND_API zend_object_value zend_objects_clone_obj(zval *object TSRMLS_DC);
-ZEND_API void zend_objects_free_object_storage(zend_object *object TSRMLS_DC);
+ZEND_API void zend_objects_free_object_storage(void *object TSRMLS_DC);
 END_EXTERN_C()
 
 #endif /* ZEND_OBJECTS_H */
index 02701941f2d906357b3558978c02aa01fb96156a..b4c986ee1eaf62fe99216a8da8cd0afbb93d3afc 100644 (file)
@@ -25,7 +25,7 @@
 #include "zend.h"
 
 typedef void (*zend_objects_store_dtor_t)(void *object, zend_object_handle handle TSRMLS_DC);
-typedef void (*zend_objects_free_object_storage_t)(zend_object *object TSRMLS_DC);
+typedef void (*zend_objects_free_object_storage_t)(void *object TSRMLS_DC);
 
 typedef void (*zend_objects_store_clone_t)(void *object, void **object_clone TSRMLS_DC);