summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sys/man/2/avl2
-rw-r--r--sys/src/libavl/avl.c2
2 files changed, 2 insertions, 2 deletions
diff --git a/sys/man/2/avl b/sys/man/2/avl
index ddc7a7b92..388b8b3f4 100644
--- a/sys/man/2/avl
+++ b/sys/man/2/avl
@@ -104,7 +104,7 @@ get(Avltree *t, char *key)
return h ? h->val : -1;
}
\fI\&...\fP
- Avltree *t = avlcreate(AVL, nodecmp);
+ Avltree *t = avlcreate(nodecmp);
.EE
.SH SOURCE
diff --git a/sys/src/libavl/avl.c b/sys/src/libavl/avl.c
index ebad131dd..615de4957 100644
--- a/sys/src/libavl/avl.c
+++ b/sys/src/libavl/avl.c
@@ -75,7 +75,6 @@ insert(int (*cmp)(Avl*, Avl*), Avl *p, Avl **qp, Avl *k, Avl **oldp)
}
c = cmp(k, q);
- c = c > 0 ? 1 : c < 0 ? -1: 0;
if(c == 0) {
*oldp = q;
*k = *q;
@@ -86,6 +85,7 @@ insert(int (*cmp)(Avl*, Avl*), Avl *p, Avl **qp, Avl *k, Avl **oldp)
*qp = k;
return 0;
}
+ c = c > 0 ? 1 : -1;
fix = insert(cmp, q, q->c + (c+1)/2, k, oldp);
if(fix)
return insertfix(c, qp);