* Remove any registered paircmps.
*/
paircmp_unregister_instance(mi->dl_inst->data);
- xlat_unregister_module(mi->dl_inst->data);
+ xlat_unregister_module(mi->dl_inst);
}
/*
void *uctx);
void xlat_unregister(char const *name);
-void xlat_unregister_module(void *instance);
+void xlat_unregister_module(dl_module_inst_t const *inst);
int xlat_register_redundant(CONF_SECTION *cs);
int xlat_init(void);
void xlat_free(void);
}
-void xlat_unregister_module(void *instance)
+void xlat_unregister_module(dl_module_inst_t const *inst)
{
xlat_t *c;
fr_rb_iter_inorder_t iter;
for (c = fr_rb_iter_init_inorder(&iter, xlat_root);
c;
c = fr_rb_iter_next_inorder(&iter)) {
- if (c->mod_inst != instance) continue;
+ if (!c->mctx) continue;
+ if (c->mctx->inst != inst) continue;
+
fr_rb_iter_delete_inorder(&iter);
}
}
xlat_flags_t flags; //!< various flags
- void *mod_inst; //!< Module instance passed to xlat
xlat_input_type_t input_type; //!< Type of input used.
xlat_arg_parser_t const *args; //!< Definition of args consumed.
} xlat_t;