diff --git a/homework07/node.c b/homework07/node.c index bbcc8d2..7f04932 100644 --- a/homework07/node.c +++ b/homework07/node.c @@ -14,8 +14,13 @@ * @return Pointer to new Node structure (must be deleted later). **/ Node * node_create(Value v, Node *next, Node *prev) { - // TODO - return NULL; + Node *new_node = calloc(1, sizeof(Node)); + + new_node->value = v; + new_node->next = next; + new_node->prev = prev; + + return new_node; } /** @@ -25,7 +30,11 @@ Node * node_create(Value v, Node *next, Node *prev) { * @param release Whether or not to free the string value. **/ void node_delete(Node *n, bool release) { - // TODO + if (release) { + free(n->value.string); + } + + free(n); } /* vim: set sts=4 sw=4 ts=8 expandtab ft=c: */