delchain(3)
delete an element of a chain_list
SYNOPSYS
#include "mut.h"
chain_list *delchain(pthead, ptdel)
chain_list *pthead;
chain_list *ptdel;
PARAMETERS
- pthead
-
Pointer to a chain list
- ptdel
-
Pointer to the element to be deleted.
DESCRIPTION
delchain deletes the element of the chain_list pointed to by
ptdel in the list pointed to by pthead.
The list consistency is maintainded, and the element put back in the list
of free blocks.
RETURN VALUE
delchain returns a pointer to the new head of list if the ptdel
pointer used to belong to the list. In most case, it has the value of
pthead. If the pointer doesn't belong to the list, NULL is returned.
ERROR
"*** mbk error *** delchain impossible : pointer NULL"
-
At least one of the arguments are pointing to NULL, and that clear that
such a pointer can't be deleted, or used for freeing.
EXAMPLE
#include "mut.h"
void delete_match(c0, c1)
chain_list *c0, *c1;
{
chain_list *t0, *t1, *next;
for (t0 = c0; t0; t0 = next)
for (t1 = c1; t1; t1 = t1->NEXT)
if (t1->DATA == t0->DATA)
next = delchain(c0, t0);
}