typedef struct listNode
{
struct listNode *next;
} listNode;
listNode *firstEntry = NULL;
listNode *createNode()
{
listNode *foo = (listNode *)malloc(sizeof(listNode));
foo->next = NULL;
if(!firstEntry)
{
firstEntry = foo;
}
else
{
listNode *entry = firstEntry;
while(entry)
{
if(!entry->next)
entry->next = foo;
entry = entry->next;
}
}
return foo;
}
void removeNode(listNode *node)
{
if(firstEntry == node)
{
firstEntry = node->next;
free(node);
}
else
{
listNode *entry = firstEntry;
listNode *pentry = NULL;
while(entry)
{
if(entry == node)
{
pentry->next = entry->next;
free(node);
return;
}
pentry = entry;
entry = entry->next;
}
}
}