diff options
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r-- | Zend/zend_API.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 3ec6fac259..6822e299b2 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -242,6 +242,16 @@ ZEND_API inline int add_assoc_long(zval *arg, char *key, long n) } +ZEND_API inline int add_assoc_unset(zval *arg, char *key) +{ + zval *tmp; + + ALLOC_ZVAL(tmp); + tmp->type = IS_UNSET; + INIT_PZVAL(tmp); + return zend_hash_update(arg->value.ht, key, strlen(key)+1, (void *) &tmp, sizeof(zval *), NULL); +} + ZEND_API inline int add_assoc_bool(zval *arg, char *key, int b) { zval *tmp; @@ -324,6 +334,17 @@ ZEND_API inline int add_index_long(zval *arg, uint index, long n) } +ZEND_API inline int add_index_unset(zval *arg, uint index) +{ + zval *tmp; + + ALLOC_ZVAL(tmp); + tmp->type = IS_UNSET; + INIT_PZVAL(tmp); + return zend_hash_index_update(arg->value.ht, index, (void *) &tmp, sizeof(zval *), NULL); +} + + ZEND_API inline int add_index_bool(zval *arg, uint index, int b) { zval *tmp; @@ -406,6 +427,17 @@ ZEND_API inline int add_next_index_long(zval *arg, long n) } +ZEND_API inline int add_next_index_unset(zval *arg) +{ + zval *tmp; + + ALLOC_ZVAL(tmp); + tmp->type = IS_UNSET; + INIT_PZVAL(tmp); + return zend_hash_next_index_insert(arg->value.ht, &tmp, sizeof(zval *), NULL); +} + + ZEND_API inline int add_next_index_bool(zval *arg, int b) { zval *tmp; |