HomeFreeBSD

RB_REMOVE invokes RB_REMOVE_COLOR either when child is red or child is

Description

RB_REMOVE invokes RB_REMOVE_COLOR either when child is red or child is
null. In the first case, RB_REMOVE_COLOR just changes the child to
black and returns. With this change, RB_REMOVE handles that case, and
drops the child argument to RB_REMOVE_COLOR, since that value is
always null.

RB_REMOVE_COLOR is changed to remove a couple of unneeded tests, and
to eliminate some deep indentation.

RB_ISRED is defined to combine a null check with a test for redness,
to replace that combination in several places.

Reviewed by: markj
Tested by: pho
Differential Revision: https://reviews.freebsd.org/D25032

Details

Provenance
dougmAuthored on
Reviewer
markj
Differential Revision
D25032: Simpilfy RB_REMOVE
Parents
rS361639: MFC r361095:
Branches
Unknown
Tags
Unknown