cd ~/avl/avl-2.0.1/
diff -up /home/blp/avl/avl-2.0.1/tavl.c\~ /home/blp/avl/avl-2.0.1/tavl.c
--- /home/blp/avl/avl-2.0.1/tavl.c~	2003-09-01 22:03:20.000000000 -0700
+++ /home/blp/avl/avl-2.0.1/tavl.c	2003-10-27 20:18:46.000000000 -0800
@@ -333,10 +333,14 @@ tavl_delete (struct tavl_table *tree, co
   if (tree->tavl_root == NULL)
     return NULL;
 
-  p = (struct tavl_node *) &tree->tavl_root;
-  for (cmp = -1; cmp != 0;
-       cmp = tree->tavl_compare (item, p->tavl_data, tree->tavl_param))
+  q = (struct tavl_node *) &tree->tavl_root;
+  p = tree->tavl_root;
+  dir = 0;
+  for (;;) 
     {
+      cmp = tree->tavl_compare (item, p->tavl_data, tree->tavl_param);
+      if (cmp == 0)
+        break;
       dir = cmp > 0;
 
       q = p;

Diff finished at Mon Oct 27 20:23:18
