| Copyright 2020 Google LLC |
| Use of this source code is governed by a BSD-style |
| license that can be found in the LICENSE file or at |
| https://developers.google.com/open-source/licenses/bsd |
| struct tree_node *tree_search(void *key, struct tree_node **rootp, |
| int (*compare)(const void *, const void *), |
| REFTABLE_CALLOC_ARRAY(n, 1); |
| res = compare(key, (*rootp)->key); |
| return tree_search(key, &(*rootp)->left, compare, insert); |
| return tree_search(key, &(*rootp)->right, compare, insert); |
| void infix_walk(struct tree_node *t, void (*action)(void *arg, void *key), |
| infix_walk(t->left, action, arg); |
| infix_walk(t->right, action, arg); |
| void tree_free(struct tree_node *t) |