X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/d8d001a6664b88b66524989589fcd809de6d3a92..fac3bbf2b2634f4f15cb33ece3acfa39db1433df:/lunaix-os/kernel/ds/btrie.c?ds=inline diff --git a/lunaix-os/kernel/ds/btrie.c b/lunaix-os/kernel/ds/btrie.c index 92f034b..fd173b9 100644 --- a/lunaix-os/kernel/ds/btrie.c +++ b/lunaix-os/kernel/ds/btrie.c @@ -25,7 +25,7 @@ __btrie_traversal(struct btrie* root, uint32_t index, int options) struct btrie_node* tree = root->btrie_root; // Time complexity: O(log_2(log_2(N))) where N is the index to lookup - while (lz && tree) { + while (bitmask && tree) { i = (index & bitmask) >> lz; struct btrie_node *subtree = 0, *pos, *n; @@ -61,6 +61,7 @@ btrie_init(struct btrie* btrie, uint32_t trunc_bits) { btrie->btrie_root = vzalloc(sizeof(struct btrie_node)); llist_init_head(&btrie->btrie_root->nodes); + llist_init_head(&btrie->btrie_root->children); btrie->truncated = trunc_bits; }