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

AltStyle によって変換されたページ (->オリジナル) /