addchain(3) create a chain and add it to a list

SYNOPSYS

#include "mut.h"
chain_list *addchain(pthead, ptdata)
chain_list *pthead;
void *ptdata;

PARAMETERS

pthead
Pointer to a chain_list
ptdata
Generic pointer to any kind of information

DESCRIPTION

addchain creates a new chain element and adds it to the front of the list pointed to by pthead, and becomes itself the list head.
The chain_lists are mosty used to create temporary lists of homogeneous elements, for binary trees, and so on.
The ptdata points to any kind of list or may itself be a value, if proper cast is performed at compilation time, and fills the DATA field of the chain structure. For details on the structure, see chain(3).

RETURN VALUE

addchain returns a pointer to the new head of list.

EXAMPLE

#include "mut.h"
#include "mlo.h"
chain_list *get_external_connectors(ptfig)
lofig_list *ptfig;
{
locon_list *pt = ptfig->LOCON;
chain_list *c = NULL; /* initialized for regularity */
   while (pt) {
      if (pt->TYPE == EXTERNAL)
         c = addchain(c, (void *)pt)
      pt = pt->NEXT;
   }  
   return c;
}