+ e = *(void**)root;
+ if (!del(e->k))
+ t_error("tdelete root \"%s\" failed (returned 0)\n", e->k);
+
+ for (; count; count--) {
+ e = *(void**)root;
+ if (!tdelete(e, &root, cmp))
+ t_error("tdelete k=%s failed during destruction\n", e->k);
+ }
+ if (root)
+ t_error("tree destruction failed: root is nonzero %p\n", root);