Basic working version without persistent storage
This commit is contained in:
parent
cae62ce7d2
commit
a2fcbb4224
8 changed files with 83 additions and 25 deletions
|
|
@ -30,6 +30,7 @@ typedef struct ttnode {
|
|||
TernaryTrieInnerNode *root;
|
||||
char *string;
|
||||
} ptr;
|
||||
char *payload;
|
||||
// What type of node this is
|
||||
// 0: regular non-representing node
|
||||
// 1: regular representing node
|
||||
|
|
@ -100,6 +101,10 @@ void ttnode_free(TernaryTrieNode *node) {
|
|||
ttinode_free_cascade(node->ptr.root);
|
||||
}
|
||||
|
||||
if (node->payload != NULL) {
|
||||
free(node->payload);
|
||||
}
|
||||
|
||||
free(node);
|
||||
}
|
||||
|
||||
|
|
@ -213,8 +218,11 @@ void ttnode_split(TernaryTrieNode *node) {
|
|||
new_node->type = 1;
|
||||
}
|
||||
|
||||
new_node->payload = node->payload;
|
||||
|
||||
node->type = 0;
|
||||
node->size = 0;
|
||||
node->payload = NULL;
|
||||
|
||||
free(node->ptr.string);
|
||||
node->ptr.string = NULL;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue