diff --git a/mps/code/splay.c b/mps/code/splay.c index 22b0b92e596..ba9d81cdeac 100644 --- a/mps/code/splay.c +++ b/mps/code/splay.c @@ -295,8 +295,8 @@ static Compare SplaySplit(Tree *nodeReturn, goto assemble; } TreeRotateRight(&node); - tree->updateNode(tree, TreeRight(node)); SplayLinkRight(&node, &rightFirst); + tree->updateNode(tree, TreeRight(rightFirst)); break; case CompareGREATER: /* zig-zag */ @@ -329,8 +329,8 @@ static Compare SplaySplit(Tree *nodeReturn, goto assemble; } TreeRotateLeft(&node); - tree->updateNode(tree, TreeLeft(node)); SplayLinkLeft(&node, &leftLast); + tree->updateNode(tree, TreeLeft(leftLast)); break; case CompareLESS: /* zag-zig */ @@ -627,7 +627,6 @@ static Tree SplayTreeSuccessor(SplayTree tree) { * . */ - Bool SplayTreeNeighbours(Tree *leftReturn, Tree *rightReturn, SplayTree tree, TreeKey key) {