void opcode_chain_delete(opcode_chain_t oc) { if(list_not_empty(oc)) { opcode_chain_apply(oc,opcode_chain_node_free); slist_flush(oc); } free(oc); }
void slist_free_cb(slist_t *list, slist_free_t func) { slist_flush(list, func); free(list); return; }
void slist_empty_cb(slist_t *list, slist_free_t func) { slist_flush(list, func); slist_init(list); return; }
void slist_free(slist_t *list) { slist_flush(list, NULL); free(list); return; }
void slist_empty(slist_t *list) { slist_flush(list, NULL); slist_init(list); return; }