diff options
| -rw-r--r-- | sys/man/2/avl | 2 | ||||
| -rw-r--r-- | sys/src/libavl/avl.c | 2 |
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); |
