blob: dbf7ae01630401024e5ac756cbc69381bb32963d [file] [log] [blame]
Brad Bishop6e60e8b2018-02-01 10:27:11 -05001From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 13 Jul 2017 18:41:53 -0700
4Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey()
5
6This issue is highlighted with musl mainly because the
7function signature from stdlib.h does not match the local
8static function
9
10Signed-off-by: Khem Raj <raj.khem@gmail.com>
11---
12 btree.c | 32 ++++++++++++++++----------------
13 1 file changed, 16 insertions(+), 16 deletions(-)
14
15diff --git a/btree.c b/btree.c
16index eddc33b..dd3fef9 100644
17--- a/btree.c
18+++ b/btree.c
19@@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n)
20 return node[geo->no_pairs * geo->keylen + n];
21 }
22
23-static void setkey(struct btree_geo *geo, unsigned long *node,
24+static void _setkey(struct btree_geo *geo, unsigned long *node,
25 unsigned long *key, int n)
26 {
27 longcpy(bkey(geo, node, n), key, geo->keylen);
28@@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo,
29 /* FIXME: If the right-most key on higher levels is
30 * always zero, this wouldn't be necessary. */
31 i--;
32- setkey(geo, node, key, i);
33+ _setkey(geo, node, key, i);
34 }
35 BUG_ON(i < 0);
36 node = (unsigned long *)bval(geo, node, i);
37@@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo)
38 return -ENOMEM;
39 if (head->node) {
40 fill = getfill(geo, head->node, 0);
41- setkey(geo, node, bkey(geo, head->node, fill - 1), 0);
42+ _setkey(geo, node, bkey(geo, head->node, fill - 1), 0);
43 setval(geo, node, (unsigned long)head->node, 0);
44 }
45 head->node = node;
46@@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level,
47
48 for (i = rfill - 1; i >= 0; i--) {
49 /* Shift entries on the right */
50- setkey(geo, right, bkey(geo, right, i), i + no_entries);
51+ _setkey(geo, right, bkey(geo, right, i), i + no_entries);
52 setval(geo, right, bval(geo, right, i), i + no_entries);
53 }
54 for (i = 0; i < no_entries; i++) {
55 /* Move some entries to the right */
56- setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i);
57+ _setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i);
58 setval(geo, right, bval(geo, left, lfill - no_entries + i), i);
59 }
60 /* Set parent key */
61- setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos);
62+ _setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos);
63 for (i = lfill - no_entries; i < lfill; i++)
64 clearpair(geo, left, i);
65 }
66@@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level,
67
68 for (i = 0; i < no_entries; i++) {
69 /* Move some entries to the left */
70- setkey(geo, left, bkey(geo, right, i), lfill + i);
71+ _setkey(geo, left, bkey(geo, right, i), lfill + i);
72 setval(geo, left, bval(geo, right, i), lfill + i);
73 }
74 /* Set parent key */
75- setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos);
76+ _setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos);
77 /* Shift entries on the right */
78 for ( ; i < rfill; i++) {
79- setkey(geo, right, bkey(geo, right, i), i - no_entries);
80+ _setkey(geo, right, bkey(geo, right, i), i - no_entries);
81 setval(geo, right, bval(geo, right, i), i - no_entries);
82 }
83 for (i = rfill - no_entries; i < rfill; i++)
84@@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo,
85 return err;
86 }
87 for (i = 0; i < fill / 2; i++) {
88- setkey(geo, new, bkey(geo, node, i), i);
89+ _setkey(geo, new, bkey(geo, node, i), i);
90 setval(geo, new, bval(geo, node, i), i);
91- setkey(geo, node, bkey(geo, node, i + fill / 2), i);
92+ _setkey(geo, node, bkey(geo, node, i + fill / 2), i);
93 setval(geo, node, bval(geo, node, i + fill / 2), i);
94 clearpair(geo, node, i + fill / 2);
95 }
96 if (fill & 1) {
97- setkey(geo, node, bkey(geo, node, fill - 1), i);
98+ _setkey(geo, node, bkey(geo, node, fill - 1), i);
99 setval(geo, node, bval(geo, node, fill - 1), i);
100 clearpair(geo, node, fill - 1);
101 }
102@@ -487,10 +487,10 @@ retry:
103
104 /* shift and insert */
105 for (i = fill; i > pos; i--) {
106- setkey(geo, node, bkey(geo, node, i - 1), i);
107+ _setkey(geo, node, bkey(geo, node, i - 1), i);
108 setval(geo, node, bval(geo, node, i - 1), i);
109 }
110- setkey(geo, node, key, pos);
111+ _setkey(geo, node, key, pos);
112 setval(geo, node, val, pos);
113
114 return 0;
115@@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level,
116
117 for (i = 0; i < rfill; i++) {
118 /* Move all entries to the left */
119- setkey(geo, left, bkey(geo, right, i), lfill + i);
120+ _setkey(geo, left, bkey(geo, right, i), lfill + i);
121 setval(geo, left, bval(geo, right, i), lfill + i);
122 }
123 /* Exchange left and right child in parent */
124@@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo,
125
126 /* remove and shift */
127 for (i = pos; i < fill - 1; i++) {
128- setkey(geo, node, bkey(geo, node, i + 1), i);
129+ _setkey(geo, node, bkey(geo, node, i + 1), i);
130 setval(geo, node, bval(geo, node, i + 1), i);
131 }
132 clearpair(geo, node, fill - 1);
133--
1342.13.2
135