Provided by: alliance_5.0-20120515-6_amd64 bug

NAME

       delchain - 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);
       }

SEE ALSO

       mbk(1), chain(3), addchain(3), freechain(3).