Lines Matching refs:right

121  *                            right-hand path (tested bit is set)
126 * RIGHTNODE - 1 bit field - set if the right-hand node is internal
368 void *right;
392 node = node->right;
394 leaf = node->right;
415 * left and right branches in the leftmask and rightmask.
439 " left %p right %p mask %x bits %x\n",
442 node->left, node->right,
445 if (!(node->left && node->right))
467 assert(node->right);
468 tree->leaf_print(node->right,
471 } else if (node->right) {
474 node = node->right;
498 node->left = node->right = NULL;
554 cursor = &node->right;
572 assert(node->right);
574 if (! tree->leaf_equal(node->left, node->right))
576 /* Keep left, drop right leaf. */
587 if (parent->right) {
593 } else if (parent->right == node) {
594 parent->right = leaf;
620 } else if (parent->left && parent->right) {
628 if (parent->right)
642 * their left and right branches a sequence of singletons that make
645 * singleton chains. When they are identical for the left and right
658 struct node *right;
687 if (!node->right)
690 right = node->right;
693 if (right->keymask == 0)
695 if (left->keymask != right->keymask)
697 if (left->keybits != right->keybits)
701 assert(left->left || left->right);
705 leftleaf = left->right;
708 else if (left->right)
709 left = left->right;
715 assert(right->left || right->right);
716 if (right->leftnode == LEAF)
717 rightleaf = right->left;
718 else if (right->rightnode == LEAF)
719 rightleaf = right->right;
720 else if (right->left)
721 right = right->left;
722 else if (right->right)
723 right = right->right;
735 right = node->right;
738 else if (parent->right == node)
739 parent->right = left;
754 } else if (node->rightnode == NODE && node->right) {
755 right = node->right;
758 node = right;
770 if (node->left && node->right)
777 if (node->right) {
778 right = node->right;
779 node->keymask |= right->keymask;
780 node->keybits |= right->keybits;
798 node->right) {
800 node = node->right;
856 assert(node->right);
857 if (tree->leaf_mark(node->right)) {
865 } else if (node->right) {
867 node = node->right;
908 assert(node->right);
909 if (tree->leaf_mark(node->right)) {
917 } else if (node->right) {
919 node = node->right;
996 assert(node->right);
997 *tree->leaf_index(tree, node->right) = index;
998 index += tree->leaf_size(node->right);
1000 } else if (node->right) {
1003 node = node->right;
1037 changed += mark_subtree(node->right);
1052 struct node *right;
1083 if (!node->left || !node->right) {
1088 * If the right node is not marked,
1093 right = node->right;
1095 while (!right->mark) {
1105 n = n->right;
1114 n = n->right;
1115 right = n;
1118 /* Make sure the right node is marked. */
1119 if (!right->mark)
1120 changed += mark_subtree(right);
1121 offset = right->index - node->index;
1123 offset = *tree->leaf_index(tree, node->right);
1160 assert(node->right);
1161 } else if (node->right) {
1164 node = node->right;
1231 if (node->left && node->right) {
1258 } else if (node->right) {
1291 assert(node->right);
1292 data = tree->leaf_emit(node->right,
1294 size = tree->leaf_size(node->right);
1298 } else if (node->right) {
1301 node = node->right;
1377 struct unicode_data *right = r;
1379 if (left->gen != right->gen)
1381 if (left->ccc != right->ccc)
1383 if (left->utf8nfdi && right->utf8nfdi &&
1384 strcmp(left->utf8nfdi, right->utf8nfdi) == 0)
1386 if (left->utf8nfdi || right->utf8nfdi)
1394 struct unicode_data *right = r;
1396 if (left->gen != right->gen)
1398 if (left->ccc != right->ccc)
1400 if (left->utf8nfdicf && right->utf8nfdicf &&
1401 strcmp(left->utf8nfdicf, right->utf8nfdicf) == 0)
1403 if (left->utf8nfdicf && right->utf8nfdicf)
1405 if (left->utf8nfdicf || right->utf8nfdicf)
1407 if (left->utf8nfdi && right->utf8nfdi &&
1408 strcmp(left->utf8nfdi, right->utf8nfdi) == 0)
1410 if (left->utf8nfdi || right->utf8nfdi)
2745 /* No right node. */