summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorspew <devnull@localhost>2016-12-24 17:58:31 -0600
committerspew <devnull@localhost>2016-12-24 17:58:31 -0600
commitff384cbddc6ef8802c30d86ec147165b73441c26 (patch)
tree823d7f07a2bffef9d374a2d6d8911459549b088c /sys
parent6187b862b7d9ffc7baf3ed2fb2a203f1815a2e25 (diff)
libavl: fix manpage example, minor improvement to code
Diffstat (limited to 'sys')
-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);