Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16c047ad authored by Wolfram Strepp's avatar Wolfram Strepp Committed by Linus Torvalds
Browse files

rb_tree: reorganize code in rb_erase() for additional changes



First, move some code around in order to make the next change more obvious.

[akpm@linux-foundation.org: coding-style fixes]
Signed-off-by: default avatarPeter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: default avatarWolfram Strepp <wstrepp@gmx.de>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 130b76cf
Loading
Loading
Loading
Loading
+9 −9
Original line number Diff line number Diff line
@@ -231,6 +231,15 @@ void rb_erase(struct rb_node *node, struct rb_root *root)
		node = node->rb_right;
		while ((left = node->rb_left) != NULL)
			node = left;

		if (rb_parent(old)) {
			if (rb_parent(old)->rb_left == old)
				rb_parent(old)->rb_left = node;
			else
				rb_parent(old)->rb_right = node;
		} else
			root->rb_node = node;

		child = node->rb_right;
		parent = rb_parent(node);
		color = rb_color(node);
@@ -247,15 +256,6 @@ void rb_erase(struct rb_node *node, struct rb_root *root)
		node->rb_right = old->rb_right;
		node->rb_left = old->rb_left;

		if (rb_parent(old))
		{
			if (rb_parent(old)->rb_left == old)
				rb_parent(old)->rb_left = node;
			else
				rb_parent(old)->rb_right = node;
		} else
			root->rb_node = node;

		rb_set_parent(old->rb_left, node);
		if (old->rb_right)
			rb_set_parent(old->rb_right, node);