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_set* a = (grib_action_set*) act; grib_context_free_persistent(context, a->name); 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* c,grib_expression* g) { grib_expression_binop* e = (grib_expression_binop*)g; grib_expression_free(c,e->left); grib_expression_free(c,e->right); }
static void destroy(grib_context* c,grib_expression* g) { grib_expression_unop* e = (grib_expression_unop*)g; grib_expression_free(c,e->exp); }
static void destroy(grib_context* c,grib_expression* g) { grib_expression_string_compare* e = (grib_expression_string_compare*)g; grib_expression_free(c,e->left); grib_expression_free(c,e->right); }