void
walk (struct bst_table *tree, bst_item_func *action, void *param)
{
  void
  traverse_recursive (struct bst_node *node)
  {
    if (node != NULL)
      {
        traverse_recursive (node->bst_link[0]);
        action (node->bst_data, param);
        traverse_recursive (node->bst_link[1]);
      }
  }

  assert (tree != NULL && action != NULL);
  traverse_recursive (tree->bst_root);
}
