1
0
mirror of https://git.tartarus.org/simon/putty.git synced 2025-03-22 06:38:37 -05:00

Delete should be void not void *; also use correct compare fn in find.

[originally from svn r594]
This commit is contained in:
Simon Tatham 2000-09-15 10:48:42 +00:00
parent 1ff320c8b2
commit 74a50d2d55

View File

@ -288,15 +288,15 @@ void *find234(tree234 *t, void *e, cmpfn234 cmp) {
n = t->root; n = t->root;
while (n) { while (n) {
if ( (c = t->cmp(e, n->elems[0])) < 0) if ( (c = cmp(e, n->elems[0])) < 0)
n = n->kids[0]; n = n->kids[0];
else if (c == 0) else if (c == 0)
return n->elems[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]; n = n->kids[1];
else if (c == 0) else if (c == 0)
return n->elems[1]; 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]; n = n->kids[2];
else if (c == 0) else if (c == 0)
return n->elems[2]; 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, * 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. * merely removes all links to it from the tree nodes.
*/ */
void *del234(tree234 *t, void *e) { void del234(tree234 *t, void *e) {
node234 *n; node234 *n;
int ei = -1; int ei = -1;