diff options
author | Zeev Suraski <zeev@php.net> | 2001-07-11 17:18:22 +0000 |
---|---|---|
committer | Zeev Suraski <zeev@php.net> | 2001-07-11 17:18:22 +0000 |
commit | 87e392437963fa32b59095f9d691d635ea322b2c (patch) | |
tree | 05ebd3d8fdfd0f0aa3bcfa4bb2efcc6c4c24be5a /Zend/zend_ptr_stack.h | |
parent | 66c8b08efa641a3d150c0a5c27f8e540003abea0 (diff) | |
download | php-git-87e392437963fa32b59095f9d691d635ea322b2c.tar.gz |
Remove the last couple of bogus inlines
Diffstat (limited to 'Zend/zend_ptr_stack.h')
-rw-r--r-- | Zend/zend_ptr_stack.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/Zend/zend_ptr_stack.h b/Zend/zend_ptr_stack.h index 834a1da160..e541aefbdf 100644 --- a/Zend/zend_ptr_stack.h +++ b/Zend/zend_ptr_stack.h @@ -31,13 +31,28 @@ typedef struct _zend_ptr_stack { #define PTR_STACK_BLOCK_SIZE 64 ZEND_API void zend_ptr_stack_init(zend_ptr_stack *stack); -ZEND_API void zend_ptr_stack_push(zend_ptr_stack *stack, void *ptr); ZEND_API void zend_ptr_stack_n_push(zend_ptr_stack *stack, int count, ...); -ZEND_API void *zend_ptr_stack_pop(zend_ptr_stack *stack); ZEND_API void zend_ptr_stack_n_pop(zend_ptr_stack *stack, int count, ...); ZEND_API void zend_ptr_stack_destroy(zend_ptr_stack *stack); ZEND_API void zend_ptr_stack_apply(zend_ptr_stack *stack, void (*func)(void *)); ZEND_API void zend_ptr_stack_clean(zend_ptr_stack *stack, void (*func)(void *), zend_bool free_elements); ZEND_API int zend_ptr_stack_num_elements(zend_ptr_stack *stack); +static inline void zend_ptr_stack_push(zend_ptr_stack *stack, void *ptr) +{ + if (stack->top >= stack->max) { /* we need to allocate more memory */ + stack->elements = (void **) erealloc(stack->elements, (sizeof(void *) * (stack->max *= 2 ))); + stack->top_element = stack->elements+stack->top; + } + stack->top++; + *(stack->top_element++) = ptr; +} + +static inline void *zend_ptr_stack_pop(zend_ptr_stack *stack) +{ + stack->top--; + return *(--stack->top_element); +} + + #endif /* ZEND_PTR_STACK_H */ |