sys/tree.h: Simplify loop condition
We have #define RB_ISRED(elm, field) \ ((elm) != NULL && RB_COLOR(elm, field) == RB_RED) So, the RB_ISRED() contains an implicit check for NULL. In RB_GENERATE_REMOVE_COLOR() the "elm" pointer cannot be NULL in the while condition. Use RB_COLOR(elm) == RB_BLACK instead.
This commit is contained in:
parent
6c1f49f83f
commit
098cf0f98d
|
@ -540,7 +540,7 @@ name##_RB_REMOVE_COLOR(struct name *head, struct type *parent) \
|
||||||
elm = RB_ROOT(head); \
|
elm = RB_ROOT(head); \
|
||||||
break; \
|
break; \
|
||||||
} \
|
} \
|
||||||
} while (!RB_ISRED(elm, field) && parent != NULL); \
|
} while (RB_COLOR(elm, field) == RB_BLACK && parent != NULL); \
|
||||||
RB_COLOR(elm, field) = RB_BLACK; \
|
RB_COLOR(elm, field) = RB_BLACK; \
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue