summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorAndrei Zmievski <andrei@php.net>1999-12-04 16:50:18 +0000
committerAndrei Zmievski <andrei@php.net>1999-12-04 16:50:18 +0000
commitf962a35df75d343f5f4503864c067cf36dac9e11 (patch)
tree8a38b63edcb96ff7f79dbf2aba980e753d00dc61 /Zend/zend_API.c
parent0a276c2ff384fa19398c1e8022869ef90b7dd529 (diff)
downloadphp-git-f962a35df75d343f5f4503864c067cf36dac9e11.tar.gz
Added zend_set_hash_symbol() function.
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 0427d252cb..8d5c7219e5 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -836,3 +836,24 @@ ZEND_API zend_module_entry *zend_get_module(int module_number)
return NULL;
}
}
+
+ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
+ int is_ref, int num_symbol_tables, ...)
+{
+ HashTable *symbol_table;
+ va_list symbol_table_list;
+
+ if (num_symbol_tables <= 0) return FAILURE;
+
+ symbol->is_ref = is_ref;
+ symbol->refcount = 0;
+
+ va_start(symbol_table_list, num_symbol_tables);
+ while(num_symbol_tables-- > 0) {
+ symbol_table = va_arg(symbol_table_list, HashTable *);
+ zend_hash_update_ptr(symbol_table, name, name_length + 1, symbol, sizeof(zval *), NULL);
+ zval_add_ref(&symbol);
+ }
+ va_end(symbol_table_list);
+ return SUCCESS;
+}