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;
+}
ZEND_API int add_property_string(zval *arg, char *key, char *str, int duplicate);
ZEND_API int add_property_stringl(zval *arg, char *key, char *str, uint length, int duplicate);
+ZEND_API int zend_set_hash_symbol(zval *symbol, char *name, int name_length,
+ int is_ref, int num_symbol_tables, ...);
+
#define add_method(arg,key,method) add_assoc_function((arg),(key),(method))
#define RETVAL_RESOURCE(l) { \
#define HASH_OF(p) ((p)->type==IS_ARRAY ? (p)->value.ht : (((p)->type==IS_OBJECT ? (p)->value.obj.properties : NULL)))
-#endif /* _ZEND_API_H */
+#endif /* _ZEND_API_H */
/*
* Local variables:
ZEND_API int zend_hash_pointer_update(HashTable *ht, char *arKey, uint nKeyLength, void *pData);
-
typedef struct _zend_hash_key {
char *arKey;
uint nKeyLength;