kernel: remove static qualifier from functions generated by btree convenience macros
This commit is contained in:
@@ -63,7 +63,7 @@ extern "C" {
|
|||||||
@param function_name the name of the function to generate.
|
@param function_name the name of the function to generate.
|
||||||
*/
|
*/
|
||||||
#define BTREE_DEFINE_SIMPLE_INSERT(node_type, container_node_member, container_key_member, function_name) \
|
#define BTREE_DEFINE_SIMPLE_INSERT(node_type, container_node_member, container_key_member, function_name) \
|
||||||
static void function_name(struct btree *tree, node_type *node) \
|
void function_name(struct btree *tree, node_type *node) \
|
||||||
{ \
|
{ \
|
||||||
if (!tree->b_root) { \
|
if (!tree->b_root) { \
|
||||||
tree->b_root = &node->container_node_member; \
|
tree->b_root = &node->container_node_member; \
|
||||||
@@ -71,10 +71,10 @@ extern "C" {
|
|||||||
return; \
|
return; \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
struct btree_node *cur = tree->b_root; \
|
struct btree_node *cur = tree->b_root; \
|
||||||
while (1) { \
|
while (1) { \
|
||||||
node_type *cur_node = BTREE_CONTAINER(node_type, container_node_member, cur); \
|
node_type *cur_node = BTREE_CONTAINER(node_type, container_node_member, cur); \
|
||||||
struct btree_node *next = NULL; \
|
struct btree_node *next = NULL; \
|
||||||
\
|
\
|
||||||
if (node->container_key_member > cur_node->container_key_member) { \
|
if (node->container_key_member > cur_node->container_key_member) { \
|
||||||
next = btree_right(cur); \
|
next = btree_right(cur); \
|
||||||
@@ -138,7 +138,7 @@ extern "C" {
|
|||||||
requirements listed above.
|
requirements listed above.
|
||||||
*/
|
*/
|
||||||
#define BTREE_DEFINE_INSERT(node_type, container_node_member, container_key_member, function_name, comparator) \
|
#define BTREE_DEFINE_INSERT(node_type, container_node_member, container_key_member, function_name, comparator) \
|
||||||
static void function_name(struct btree *tree, node_type *node) \
|
void function_name(struct btree *tree, node_type *node) \
|
||||||
{ \
|
{ \
|
||||||
if (!tree->b_root) { \
|
if (!tree->b_root) { \
|
||||||
tree->b_root = &node->container_node_member; \
|
tree->b_root = &node->container_node_member; \
|
||||||
@@ -146,10 +146,10 @@ extern "C" {
|
|||||||
return; \
|
return; \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
struct btree_node *cur = tree->b_root; \
|
struct btree_node *cur = tree->b_root; \
|
||||||
while (1) { \
|
while (1) { \
|
||||||
node_type *cur_node = BTREE_CONTAINER(node_type, container_node_member, cur); \
|
node_type *cur_node = BTREE_CONTAINER(node_type, container_node_member, cur); \
|
||||||
struct btree_node *next = NULL; \
|
struct btree_node *next = NULL; \
|
||||||
int cmp = comparator(node, cur_node); \
|
int cmp = comparator(node, cur_node); \
|
||||||
\
|
\
|
||||||
if (cmp == 1) { \
|
if (cmp == 1) { \
|
||||||
@@ -203,22 +203,22 @@ extern "C" {
|
|||||||
@param function_name the name of the function to generate.
|
@param function_name the name of the function to generate.
|
||||||
*/
|
*/
|
||||||
#define BTREE_DEFINE_SIMPLE_GET(node_type, key_type, container_node_member, container_key_member, function_name) \
|
#define BTREE_DEFINE_SIMPLE_GET(node_type, key_type, container_node_member, container_key_member, function_name) \
|
||||||
node_type *function_name(struct btree *tree, key_type key) \
|
node_type *function_name(struct btree *tree, key_type key) \
|
||||||
{ \
|
{ \
|
||||||
struct btree_node *cur = tree->b_root; \
|
struct btree_node *cur = tree->b_root; \
|
||||||
while (cur) { \
|
while (cur) { \
|
||||||
node_type *cur_node = BTREE_CONTAINER(node_type, container_node_member, cur); \
|
node_type *cur_node = BTREE_CONTAINER(node_type, container_node_member, cur); \
|
||||||
if (key > cur_node->container_key_member) { \
|
if (key > cur_node->container_key_member) { \
|
||||||
cur = btree_right(cur); \
|
cur = btree_right(cur); \
|
||||||
} else if (key < cur_node->container_key_member) { \
|
} else if (key < cur_node->container_key_member) { \
|
||||||
cur = btree_left(cur); \
|
cur = btree_left(cur); \
|
||||||
} else { \
|
} else { \
|
||||||
return cur_node; \
|
return cur_node; \
|
||||||
} \
|
} \
|
||||||
} \
|
} \
|
||||||
\
|
\
|
||||||
return NULL; \
|
return NULL; \
|
||||||
}
|
}
|
||||||
|
|
||||||
/* perform an in-order traversal of a binary tree
|
/* perform an in-order traversal of a binary tree
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user