Lazy BNF / EBNF Help Messages
committer: Markus Bröker <mbroeker@largo.homelinux.org>
/**
* test/demos/lsflib/src/list.c
* Copyright (C) 2008 Markus Broeker
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <list.h>
Node *addnode (Node * node, char *data)
{
Node *n;
if ((n = malloc (sizeof (Node))) == NULL) {
fprintf (stderr, "malloc fails: %s\n", data);
return NULL;
}
if (!(n->data = strdup (data))) {
fprintf (stderr, "strdup fails: %s\n", data);
free (n);
return NULL;
}
n->next = NULL;
if (node != NULL) {
node->next = n;
node = n;
} else
node = n;
return node;
}
Node *getnode (Node * aktuell)
{
Node *begin;
free (aktuell->data);
begin = aktuell->next;
free (aktuell);
return begin;
}