Changes in kernel/generic/src/adt/btree.c [55b77d9:8b3bff5] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/adt/btree.c
r55b77d9 r8b3bff5 108 108 void btree_create(btree_t *t) 109 109 { 110 list_initialize(&t->leaf_ list);110 list_initialize(&t->leaf_head); 111 111 t->root = (btree_node_t *) slab_alloc(btree_node_slab, 0); 112 112 node_initialize(t->root); 113 list_append(&t->root->leaf_link, &t->leaf_ list);113 list_append(&t->root->leaf_link, &t->leaf_head); 114 114 } 115 115 … … 588 588 589 589 if (LEAF_NODE(node)) { 590 list_ insert_after(&rnode->leaf_link, &node->leaf_link);590 list_prepend(&rnode->leaf_link, &node->leaf_link); 591 591 } 592 592 … … 953 953 ASSERT(LEAF_NODE(node)); 954 954 955 if (node->leaf_link.prev != &t->leaf_ list.head)955 if (node->leaf_link.prev != &t->leaf_head) 956 956 return list_get_instance(node->leaf_link.prev, btree_node_t, leaf_link); 957 957 else … … 972 972 ASSERT(LEAF_NODE(node)); 973 973 974 if (node->leaf_link.next != &t->leaf_ list.head)974 if (node->leaf_link.next != &t->leaf_head) 975 975 return list_get_instance(node->leaf_link.next, btree_node_t, leaf_link); 976 976 else … … 987 987 size_t i; 988 988 int depth = t->root->depth; 989 li st_t list;989 link_t head, *cur; 990 990 991 991 printf("Printing B-tree:\n"); 992 list_initialize(& list);993 list_append(&t->root->bfs_link, & list);992 list_initialize(&head); 993 list_append(&t->root->bfs_link, &head); 994 994 995 995 /* … … 997 997 * Levels are distinguished from one another by node->depth. 998 998 */ 999 while (!list_empty(& list)) {999 while (!list_empty(&head)) { 1000 1000 link_t *hlp; 1001 1001 btree_node_t *node; 1002 1002 1003 hlp = list_first(&list);1004 ASSERT(hlp != NULL);1003 hlp = head.next; 1004 ASSERT(hlp != &head); 1005 1005 node = list_get_instance(hlp, btree_node_t, bfs_link); 1006 1006 list_remove(hlp); … … 1018 1018 printf("%" PRIu64 "%s", node->key[i], i < node->keys - 1 ? "," : ""); 1019 1019 if (node->depth && node->subtree[i]) { 1020 list_append(&node->subtree[i]->bfs_link, & list);1020 list_append(&node->subtree[i]->bfs_link, &head); 1021 1021 } 1022 1022 } 1023 1023 1024 1024 if (node->depth && node->subtree[i]) 1025 list_append(&node->subtree[i]->bfs_link, & list);1025 list_append(&node->subtree[i]->bfs_link, &head); 1026 1026 1027 1027 printf(")"); … … 1031 1031 1032 1032 printf("Printing list of leaves:\n"); 1033 list_foreach(t->leaf_list, cur) {1033 for (cur = t->leaf_head.next; cur != &t->leaf_head; cur = cur->next) { 1034 1034 btree_node_t *node; 1035 1035
Note:
See TracChangeset
for help on using the changeset viewer.