Skip to content

Commit 9dd0231

Browse files
author
Andi Gutmans
committed
- Add typedef for function pointer of llist dtor
1 parent a6f90ec commit 9dd0231

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

Zend/zend_llist.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
#include "zend.h"
2222
#include "zend_llist.h"
2323

24-
ZEND_API void zend_llist_init(zend_llist *l, size_t size, void (*dtor)(void *data), unsigned char persistent)
24+
ZEND_API void zend_llist_init(zend_llist *l, size_t size, llist_dtor_func_t dtor, unsigned char persistent)
2525
{
2626
l->head = NULL;
2727
l->tail = NULL;

Zend/zend_llist.h

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -29,24 +29,25 @@ typedef struct _zend_llist_element {
2929
char data[1]; /* Needs to always be last in the struct */
3030
} zend_llist_element;
3131

32+
typedef void (*llist_dtor_func_t)(void *);
33+
typedef int (*llist_compare_func_t)(const zend_llist_element *, const zend_llist_element *);
34+
typedef void (*llist_apply_with_arg_func_t)(void *data, void *arg);
35+
typedef void (*llist_apply_with_args_func_t)(void *data, int num_args, va_list args);
36+
typedef void (*llist_apply_func_t)(void *);
37+
3238
typedef struct _zend_llist {
3339
zend_llist_element *head;
3440
zend_llist_element *tail;
3541
size_t size;
36-
void (*dtor)(void *data);
42+
llist_dtor_func_t dtor;
3743
unsigned char persistent;
3844
zend_llist_element *traverse_ptr;
3945
} zend_llist;
4046

41-
typedef int (*llist_compare_func_t)(const zend_llist_element *, const zend_llist_element *);
42-
typedef void(*llist_apply_with_arg_func_t)(void *data, void *arg);
43-
typedef void(*llist_apply_with_args_func_t)(void *data, int num_args, va_list args);
44-
typedef void (*llist_apply_func_t)(void *);
45-
4647
typedef zend_llist_element* zend_llist_position;
4748

4849
BEGIN_EXTERN_C()
49-
ZEND_API void zend_llist_init(zend_llist *l, size_t size, void (*dtor)(void *data), unsigned char persistent);
50+
ZEND_API void zend_llist_init(zend_llist *l, size_t size, llist_dtor_func_t dtor, unsigned char persistent);
5051
ZEND_API void zend_llist_add_element(zend_llist *l, void *element);
5152
ZEND_API void zend_llist_prepend_element(zend_llist *l, void *element);
5253
ZEND_API void zend_llist_del_element(zend_llist *l, void *element, int (*compare)(void *element1, void *element2));

0 commit comments

Comments
 (0)