int eval_del(struct eval *eval) { struct eval *e0 = eval; int ret = 0; if (e0) { ret += stack_del(e0->stk, NULL, NULL); ret += stack_del(e0->opstk, NULL, NULL); ret += varray_del(e0->toks); free(e0); } return ret ? -1 : 0; }
/* * the routine to clear all service nodes in service routing table. * * @sapce: */ static void _vroute_srvc_space_clear(struct vroute_srvc_space* space) { struct varray* services = NULL; int i = 0; vassert(space); for (i = 0; i < NBUCKETS; i++) { services = &space->bucket[i].srvcs; while(varray_size(services) > 0) { vservice_free((struct vservice*)varray_del(services, 0)); } } return; }