From d98f46ce647846b0aa30b2e16a30fd4e152a1bf5 Mon Sep 17 00:00:00 2001 From: Carlos Maiolino Date: Thu, 10 Jul 2025 22:55:07 +0200 Subject: Add new code Signed-off-by: Carlos Maiolino --- BTree/bt_data.c | 51 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 BTree/bt_data.c (limited to 'BTree/bt_data.c') diff --git a/BTree/bt_data.c b/BTree/bt_data.c new file mode 100644 index 0000000..c10ce3d --- /dev/null +++ b/BTree/bt_data.c @@ -0,0 +1,51 @@ +#include +#include +#include +#include "btree.h" + +struct Data * init_item(int id, char *name) +{ + struct Data *new = malloc(sizeof(struct Data)); + + if (new == NULL) + return new; + + new->id = id; + strncpy(new->name, name, 20); + + /* Ensure string is null terminated */ + new->name[19] = '\0'; + + return new; +} + +void destroy_item(struct Data *item) +{ + if (item) + free(item); +} + +/* Insert new item in the tree */ +void add_item(void) +{ + char name[20]; + int id; + struct Data *item; + + printf("Name: "); + scanf(" %s", name); + printf("Id: "); + scanf(" %d", &id); + + item = init_item(id, name); + + if (!item) { + printf("Error adding new data\n"); + return; + } + + if (!btree_add(item)) + printf("Btree Error: Failed to add item\n"); + + return; +} -- cgit v1.2.3