summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_API.c7
-rw-r--r--Zend/zend_ptr_stack.c15
-rw-r--r--Zend/zend_ptr_stack.h19
3 files changed, 19 insertions, 22 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 68921a6313..382550d6ed 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -577,14 +577,11 @@ ZEND_API int zend_parse_parameters(int num_args, char *type_spec, ...)
/* Argument parsing API -- andrei */
-ZEND_API inline int _array_init(zval *arg ZEND_FILE_LINE_DC)
+ZEND_API int _array_init(zval *arg ZEND_FILE_LINE_DC)
{
ALLOC_HASHTABLE_REL(arg->value.ht);
- if (!arg->value.ht || zend_hash_init(arg->value.ht, 0, NULL, ZVAL_PTR_DTOR, 0)) {
- zend_error(E_ERROR, "Cannot allocate memory for array");
- return FAILURE;
- }
+ zend_hash_init(arg->value.ht, 0, NULL, ZVAL_PTR_DTOR, 0);
arg->type = IS_ARRAY;
return SUCCESS;
}
diff --git a/Zend/zend_ptr_stack.c b/Zend/zend_ptr_stack.c
index 0b774ea35a..0f95730f4a 100644
--- a/Zend/zend_ptr_stack.c
+++ b/Zend/zend_ptr_stack.c
@@ -32,16 +32,6 @@ ZEND_API void zend_ptr_stack_init(zend_ptr_stack *stack)
}
-ZEND_API 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;
-}
-
ZEND_API void zend_ptr_stack_n_push(zend_ptr_stack *stack, int count, ...)
{
va_list ptr;
@@ -79,11 +69,6 @@ ZEND_API void zend_ptr_stack_n_pop(zend_ptr_stack *stack, int count, ...)
va_end(ptr);
}
-ZEND_API inline void *zend_ptr_stack_pop(zend_ptr_stack *stack)
-{
- stack->top--;
- return *(--stack->top_element);
-}
ZEND_API void zend_ptr_stack_destroy(zend_ptr_stack *stack)
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 */