|
@@ -215,8 +215,9 @@ static void erase_##name(struct rb_root *root, type *t) \
|
|
}
|
|
}
|
|
|
|
|
|
#define DEFINE_RB_LOOKUP_FUNC(name, type, keyfld, nodefld) \
|
|
#define DEFINE_RB_LOOKUP_FUNC(name, type, keyfld, nodefld) \
|
|
|
|
+extern type __lookup_##name##_key; \
|
|
static type *lookup_##name(struct rb_root *root, \
|
|
static type *lookup_##name(struct rb_root *root, \
|
|
- typeof(((type *)0)->keyfld) key) \
|
|
|
|
|
|
+ typeof(__lookup_##name##_key.keyfld) key) \
|
|
{ \
|
|
{ \
|
|
struct rb_node *n = root->rb_node; \
|
|
struct rb_node *n = root->rb_node; \
|
|
\
|
|
\
|