Пример #1
0
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);
}
Пример #2
0
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);
}
Пример #3
0
/* 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);
}