From 341263ccecb5b112703633dedcd61970c43f72ae Mon Sep 17 00:00:00 2001 From: Tucker Evans Date: Sat, 13 Jul 2019 12:22:26 -0400 Subject: Add node from old code v1@9f14600 --- node.c | 43 +++++++++++++++++++++++++++++++++++++++++++ node.h | 18 ++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 node.c create mode 100644 node.h diff --git a/node.c b/node.c new file mode 100644 index 0000000..c52b101 --- /dev/null +++ b/node.c @@ -0,0 +1,43 @@ +#include +#include +#include +#include + +#include "node.h" + +/*constructor*/ +node_t* mknode(str) +char *str; +{ + node_t *p = malloc(sizeof(node_t)); + assert(p); + + p->name = strdup(str); + p->next = NULL; + + return p; +} + +/* helpers */ +node_t* search(root, str) +node_t *root; +char *str; +{ + node_t *p = root; + while (p) { + if (!strcmp(p->name, str)) { + return p; + } + p = p->next; + } + return NULL; +} + +node_t* insert(root, str) /*TODO change to accept double pointer*/ +node_t *root; +char * str; +{ + node_t *p = mknode( str ); + p->next = root; + return p; +} diff --git a/node.h b/node.h new file mode 100644 index 0000000..97dc29e --- /dev/null +++ b/node.h @@ -0,0 +1,18 @@ +#ifndef NODE_H +#define NODE_H + +/* Linked list */ + +typedef struct node_s { + char *name; + struct node_s *next; +} node_t; + +/*constructor*/ +node_t* mknode(char *); + +/* helpers */ +node_t* search(node_t*, char *); +node_t* insert(node_t*, char*); + +#endif -- cgit v1.1