Lines Matching refs:which
225 * Swap the location and colors of 'self' and its child @ which. The child
234 struct archive_rb_node *old_father, const unsigned int which)
236 const unsigned int other = which ^ RB_DIR_OTHER;
238 struct archive_rb_node * const old_child = old_father->rb_nodes[which];
248 new_child->rb_nodes[which] = old_child->rb_nodes[other];
267 if (!RB_SENTINEL_P(new_child->rb_nodes[which])) {
268 RB_SET_FATHER(new_child->rb_nodes[which], new_child);
269 RB_SET_POSITION(new_child->rb_nodes[which], which);
282 unsigned int which;
291 which = (father == grandpa->rb_right);
292 other = which ^ RB_DIR_OTHER;
342 __archive_rb_tree_reparent_nodes(grandpa, which);
355 const unsigned int which = RB_POSITION(self);
362 father->rb_nodes[which] = self->rb_left;
368 __archive_rb_tree_removal_rebalance(rbt, father, which);
473 * __archive_rb_tree_node_swap(rbt, self, which);
480 struct archive_rb_node *self, unsigned int which)
483 struct archive_rb_node *son = self->rb_nodes[which];
501 unsigned int which;
534 which = RB_LEFT_SENTINEL_P(self) ? RB_DIR_RIGHT : RB_DIR_LEFT;
535 __archive_rb_tree_prune_blackred_branch(self, which);
543 which = RB_POSITION(self) ^ RB_DIR_OTHER;
549 standin = __archive_rb_tree_iterate(rbt, self, which);
555 struct archive_rb_node *parent, unsigned int which)
558 while (RB_BLACK_P(parent->rb_nodes[which])) {
559 unsigned int other = which ^ RB_DIR_OTHER;
576 * has a red child which is case 3; thus no
600 which = RB_POSITION(parent);
643 __archive_rb_tree_reparent_nodes(brother, which);