From 4b721332d570f53719894af922c22b7cba146b18 Mon Sep 17 00:00:00 2001 From: Soikk Date: Sat, 13 Aug 2022 18:49:30 +0200 Subject: Added primitive repl, delete functions for database and remove tag from file function. --- src/storage.c | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'src/storage.c') diff --git a/src/storage.c b/src/storage.c index 9afede7..bc5ab6b 100644 --- a/src/storage.c +++ b/src/storage.c @@ -10,6 +10,13 @@ ltable *newLtable(uint64_t size){ return lt; } +int deleteLtable(ltable **lt){ + free((*lt)->table); + free(*lt); + *lt = NULL; + return 0; +} + int insertLtable(ltable *lt, char *str){ uint32_t ls; str = normalizeStrLimit(str, &ls, MAXPATH-1); @@ -105,6 +112,13 @@ ctable *newCtable(uint64_t size){ return ct; } +int deleteCtable(ctable **ct){ + free((*ct)->table); + free(*ct); + *ct = NULL; + return 0; +} + int insertCtable(ctable *ct, uint64_t n){ uint64_t *nct = malloc((ct->size+1)*sizeof(uint64_t)); for(uint64_t i = 0; i < ct->size; ++i){ @@ -184,6 +198,13 @@ mtable *newMtable(uint64_t size){ return mt; } +int deleteMtable(mtable **mt){ + free((*mt)->table); + free(*mt); + *mt = NULL; + return 0; +} + int insertMtable(mtable *mt, relation r){ relation *nmt = malloc((mt->size+1)*sizeof(relation)); for(uint64_t i = 0; i < mt->size; ++i){ @@ -301,6 +322,17 @@ node *newNode(uint64_t h, uint64_t i){ return n; } +int deleteTree(tree *root){ + if(*root == NULL){ + return -1; + } + deleteTree(&(*root)->left); + deleteTree(&(*root)->right); + free(*root); + *root = NULL; + return 0; +} + static node *rotateNodeRight(node *r){ node *nr = r->left; node *nc = nr->right; -- cgit v1.2.3