diff options
author | Dmitry Stogov <dmitry@zend.com> | 2014-02-10 10:04:30 +0400 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2014-02-10 10:04:30 +0400 |
commit | f4cfaf36e23ca47da3e352e1c60909104c059647 (patch) | |
tree | 0db3e2a323b12c5bbf1a958c857f92eb58c240d1 /Zend/zend_list.h | |
parent | 89a9acea1f9d821a9805b3857bf4febbba08690d (diff) | |
download | php-git-f4cfaf36e23ca47da3e352e1c60909104c059647.tar.gz |
Use better data structures (incomplete)
Diffstat (limited to 'Zend/zend_list.h')
-rw-r--r-- | Zend/zend_list.h | 36 |
1 files changed, 16 insertions, 20 deletions
diff --git a/Zend/zend_list.h b/Zend/zend_list.h index b7980d56f2..67db98cca2 100644 --- a/Zend/zend_list.h +++ b/Zend/zend_list.h @@ -30,14 +30,14 @@ BEGIN_EXTERN_C() #define ZEND_RESOURCE_LIST_TYPE_STD 1 #define ZEND_RESOURCE_LIST_TYPE_EX 2 -typedef struct _zend_rsrc_list_entry { - void *ptr; - int type; - int refcount; -} zend_rsrc_list_entry; +//???typedef struct _zend_rsrc_list_entry { +//??? void *ptr; +//??? int type; +//??? int refcount; +//???} zend_rsrc_list_entry; -typedef void (*rsrc_dtor_func_t)(zend_rsrc_list_entry *rsrc TSRMLS_DC); -#define ZEND_RSRC_DTOR_FUNC(name) void name(zend_rsrc_list_entry *rsrc TSRMLS_DC) +typedef void (*rsrc_dtor_func_t)(zend_resource *res TSRMLS_DC); +#define ZEND_RSRC_DTOR_FUNC(name) void name(zend_resource *res TSRMLS_DC) typedef struct _zend_rsrc_list_dtors_entry { /* old style destructors */ @@ -60,8 +60,8 @@ typedef struct _zend_rsrc_list_dtors_entry { ZEND_API int zend_register_list_destructors(void (*ld)(void *), void (*pld)(void *), int module_number); ZEND_API int zend_register_list_destructors_ex(rsrc_dtor_func_t ld, rsrc_dtor_func_t pld, const char *type_name, int module_number); -void list_entry_destructor(void *ptr); -void plist_entry_destructor(void *ptr); +void list_entry_destructor(zval *ptr); +void plist_entry_destructor(zval *ptr); void zend_clean_module_rsrc_dtors(int module_number TSRMLS_DC); int zend_init_rsrc_list(TSRMLS_D); @@ -70,20 +70,16 @@ void zend_destroy_rsrc_list(HashTable *ht TSRMLS_DC); int zend_init_rsrc_list_dtors(void); void zend_destroy_rsrc_list_dtors(void); -ZEND_API int zend_list_insert(void *ptr, int type TSRMLS_DC); -ZEND_API int _zend_list_addref(int id TSRMLS_DC); -ZEND_API int _zend_list_delete(int id TSRMLS_DC); -ZEND_API void *_zend_list_find(int id, int *type TSRMLS_DC); +ZEND_API zval *zend_list_insert(void *ptr, int type TSRMLS_DC); +ZEND_API int _zend_list_delete(zend_resource *res TSRMLS_DC); -#define zend_list_addref(id) _zend_list_addref(id TSRMLS_CC) -#define zend_list_delete(id) _zend_list_delete(id TSRMLS_CC) -#define zend_list_find(id, type) _zend_list_find(id, type TSRMLS_CC) +#define zend_list_delete(res) _zend_list_delete(res TSRMLS_CC) -ZEND_API int zend_register_resource(zval *rsrc_result, void *rsrc_pointer, int rsrc_type TSRMLS_DC); -ZEND_API void *zend_fetch_resource(zval **passed_id TSRMLS_DC, int default_id, const char *resource_type_name, int *found_resource_type, int num_resource_types, ...); +ZEND_API zend_resource *zend_register_resource(zval *rsrc_result, void *rsrc_pointer, int rsrc_type TSRMLS_DC); +ZEND_API void *zend_fetch_resource(zval *passed_id TSRMLS_DC, int default_id, const char *resource_type_name, int *found_resource_type, int num_resource_types, ...); -ZEND_API const char *zend_rsrc_list_get_rsrc_type(int resource TSRMLS_DC); -ZEND_API int zend_fetch_list_dtor_id(char *type_name); +ZEND_API const char *zend_rsrc_list_get_rsrc_type(zend_resource *res TSRMLS_DC); +ZEND_API int zend_fetch_list_dtor_id(const char *type_name); extern ZEND_API int le_index_ptr; /* list entry type for index pointers */ |