From 03a4d18968a1440ec66ec26168f90dde333aaf16 Mon Sep 17 00:00:00 2001 From: Owen Dorweiler Date: Sat, 29 Mar 2025 17:05:18 -0400 Subject: [PATCH] Homework 07: node.c --- homework07/node.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) 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: */