Delete should be void not void *; also use correct compare fn in find.
authorsimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 15 Sep 2000 10:48:42 +0000 (10:48 +0000)
committersimon <simon@cda61777-01e9-0310-a592-d414129be87e>
Fri, 15 Sep 2000 10:48:42 +0000 (10:48 +0000)
git-svn-id: svn://svn.tartarus.org/sgt/putty@594 cda61777-01e9-0310-a592-d414129be87e

tree234.c

index 1fedd76..6a570f7 100644 (file)
--- a/tree234.c
+++ b/tree234.c
@@ -288,15 +288,15 @@ void *find234(tree234 *t, void *e, cmpfn234 cmp) {
 
     n = t->root;
     while (n) {
-       if ( (c = t->cmp(e, n->elems[0])) < 0)
+       if ( (c = cmp(e, n->elems[0])) < 0)
            n = n->kids[0];
        else if (c == 0)
            return n->elems[0];
-       else if (n->elems[1] == NULL || (c = t->cmp(e, n->elems[1])) < 0)
+       else if (n->elems[1] == NULL || (c = cmp(e, n->elems[1])) < 0)
            n = n->kids[1];
        else if (c == 0)
            return n->elems[1];
-       else if (n->elems[2] == NULL || (c = t->cmp(e, n->elems[2])) < 0)
+       else if (n->elems[2] == NULL || (c = cmp(e, n->elems[2])) < 0)
            n = n->kids[2];
        else if (c == 0)
            return n->elems[2];
@@ -316,7 +316,7 @@ void *find234(tree234 *t, void *e, cmpfn234 cmp) {
  * Delete an element e in a 2-3-4 tree. Does not free the element,
  * merely removes all links to it from the tree nodes.
  */
-void *del234(tree234 *t, void *e) {
+void del234(tree234 *t, void *e) {
     node234 *n;
     int ei = -1;