lsflib/src/list.c
author Markus Bröker <mbroeker@largo.dyndns.tv>
Sat, 13 Dec 2008 17:58:00 +0100
changeset 8 96d16dfe787a
parent 6 c3dc3eb3b541
child 9 c3fecc82ade6
permissions -rw-r--r--
We use return EXIT_SUCCESS instead of return 0 committer: Markus Bröker <mbroeker@largo.homelinux.org>

/*
 *  $Id: list.c 107 2008-04-17 01:01:43Z mbroeker $
 * $URL: http://localhost/svn/c/lsflib/trunk/src/list.c $
 *
 */

#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;
}