static void destroy(grib_context* context,grib_action* act) { grib_action_if* a = (grib_action_if*) act; grib_action *t = a->block_true; grib_action *f = a->block_false; while(t) { grib_action *nt = t->next; grib_action_delete(context,t); t = nt; } while(f) { grib_action *nf = f->next; grib_action_delete(context,f); f = nf; } grib_expression_free(context,a->expression); grib_context_free_persistent(context, act->name); grib_context_free_persistent(context, act->op); }
static void destroy(grib_context* context,grib_action* act) { grib_action_switch* a = (grib_action_switch*) act; grib_case *t = a->Case; while(t) { grib_case *nt = t->next; grib_action_delete(context,t->action); grib_arguments_free(context,t->values); grib_context_free(context,t); t = nt; } grib_action_delete(context,a->Default); grib_context_free_persistent(context, act->name); grib_context_free_persistent(context, act->op); }
/* COMEBACK */ static void destroy(grib_context* context,grib_action* act) { grib_action_trigger* a = (grib_action_trigger*)act; grib_action *b = a->block; while(b) { grib_action *n = b->next; grib_action_delete(context,b); b = n; } grib_arguments_free(context, a->trigger_on); grib_context_free_persistent(context, act->name); grib_context_free_persistent(context, act->op); }