diff options
Diffstat (limited to 'Zend/zend_stack.h')
-rw-r--r-- | Zend/zend_stack.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/Zend/zend_stack.h b/Zend/zend_stack.h index f18dfeca7c..6700053258 100644 --- a/Zend/zend_stack.h +++ b/Zend/zend_stack.h @@ -2,7 +2,7 @@ +----------------------------------------------------------------------+ | Zend Engine | +----------------------------------------------------------------------+ - | Copyright (c) 1998-2013 Zend Technologies Ltd. (http://www.zend.com) | + | Copyright (c) 1998-2014 Zend Technologies Ltd. (http://www.zend.com) | +----------------------------------------------------------------------+ | This source file is subject to version 2.00 of the Zend license, | | that is bundled with this package in the file LICENSE, and is | @@ -23,25 +23,26 @@ #define ZEND_STACK_H typedef struct _zend_stack { - int top, max; - void **elements; + int size, top, max; + void *elements; } zend_stack; -#define STACK_BLOCK_SIZE 64 +#define STACK_BLOCK_SIZE 16 BEGIN_EXTERN_C() -ZEND_API int zend_stack_init(zend_stack *stack); -ZEND_API int zend_stack_push(zend_stack *stack, const void *element, int size); -ZEND_API int zend_stack_top(const zend_stack *stack, void **element); +ZEND_API int zend_stack_init(zend_stack *stack, int size); +ZEND_API int zend_stack_push(zend_stack *stack, const void *element); +ZEND_API void *zend_stack_top(const zend_stack *stack); ZEND_API int zend_stack_del_top(zend_stack *stack); ZEND_API int zend_stack_int_top(const zend_stack *stack); ZEND_API int zend_stack_is_empty(const zend_stack *stack); ZEND_API int zend_stack_destroy(zend_stack *stack); -ZEND_API void **zend_stack_base(const zend_stack *stack); +ZEND_API void *zend_stack_base(const zend_stack *stack); ZEND_API int zend_stack_count(const zend_stack *stack); ZEND_API void zend_stack_apply(zend_stack *stack, int type, int (*apply_function)(void *element)); ZEND_API void zend_stack_apply_with_argument(zend_stack *stack, int type, int (*apply_function)(void *element, void *arg), void *arg); +ZEND_API void zend_stack_clean(zend_stack *stack, void (*func)(void *), zend_bool free_elements); END_EXTERN_C() #define ZEND_STACK_APPLY_TOPDOWN 1 |