Example #1
0
void pdt_free_node(pdt_node_t *pn)
{
	int i;
	if(pn==NULL)
		return;

	for(i=0; i<PDT_NODE_SIZE; i++)
	{
		if(pn[i].domain.s!=NULL)
		{
			shm_free(pn[i].domain.s);
			pn[i].domain.s   = NULL;
			pn[i].domain.len = 0;
		}
		if(pn[i].child!=NULL)
		{
			pdt_free_node(pn[i].child);
			pn[i].child = NULL;
		}
	}
	shm_free(pn);
	pn = NULL;
	
	return;
}
Example #2
0
void pdt_free_tree(pdt_tree_t *pt)
{
	if(pt == NULL)
	{
		LOG(L_INFO, "pdt_free_tree: bad parameters\n");
		return;
	}

	pdt_free_node(pt->head);
	pkg_free(pt);
	pt = NULL;
	return;
}
Example #3
0
void pdt_free_tree(pdt_tree_t *pt)
{
	if(pt == NULL)
		return;

	if(pt->head!=NULL) 
		pdt_free_node(pt->head);
	if(pt->next!=NULL)
		pdt_free_tree(pt->next);
	if(pt->sdomain.s!=NULL)
		shm_free(pt->sdomain.s);
	
	shm_free(pt);
	pt = NULL;
	return;
}