-struct remove_symtab_ctx {
- const char *name;
- zend_bool deleted;
-};
-static int remove_symtab(zval *ztab, void *ctx)
-{
- struct remove_symtab_ctx *rsc = ctx;
- php_ion_symbol_table *tab = php_ion_obj(symbol_table, Z_OBJ_P(ztab));
- if (tab && tab->tab) {
- ION_STRING is;
- if (IERR_OK == ion_symbol_table_get_name(tab->tab, &is)) {
- if (strcmp((const char *) is.value, rsc->name)) {
- return ZEND_HASH_APPLY_KEEP;
- }
- }
- }
- rsc->deleted = true;
- return ZEND_HASH_APPLY_REMOVE;