delnum(3) delete an element of a num_list

SYNOPSYS

#include "mut.h"
num_list *delnum(pthead, ptdel)
num_list *pthead, *ptdel;

PARAMETERS

pthead
Pointer to a num list
ptdel
Pointer to the element to be deleted.

DESCRIPTION

delnum deletes the element of the num_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

delnum 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 *** delnum impossible : pointer NULL"
At least one of the arguments are pointing to NULL, and that clear that such a pointer can't be deleted.

EXAMPLE

#include "mut.h"
void delete_match(c0, c1)
num_list *c1, *c2;
{
num_list *t0, *t1, *next;
   for (t0 = c0; t0; t0 = next)
      for (t1 = c1; t1; t1 = t1->NEXT)
         if (t1->DATA == t0->DATA)
            next = delnum(c0, t0); 
}