On Sun, Feb 07, 2016 at 10:10:39AM +1000, stua...@longlandclan.id.au wrote: > From: Stuart Longland <m...@vk4msl.id.au> > > This provides a way for btree to be used with external allocator > libraries such as the tal or talloc modules.
Rusty's comments seconded, and a couple of my own: > --- > ccan/btree/btree.c | 194 > +++++++++++++++++++++++++++++++---------------------- > ccan/btree/btree.h | 29 +++++--- > 2 files changed, 136 insertions(+), 87 deletions(-) > > diff --git a/ccan/btree/btree.c b/ccan/btree/btree.c > index 636edbc..5bb2435 100644 > --- a/ccan/btree/btree.c > +++ b/ccan/btree/btree.c > @@ -29,12 +29,15 @@ > #define MAX (BTREE_ITEM_MAX) > #define MIN (BTREE_ITEM_MAX >> 1) > > -static struct btree_node *node_alloc(int internal); > +static struct btree_node *node_alloc(const struct btree_allocator* alloc, > int internal); > static void node_delete(struct btree_node *node, struct btree *btree); > +static void node_free(struct btree_node *node); > > static void branch_begin(btree_iterator iter); > static void branch_end(btree_iterator iter); > static void begin_end_lr(btree_iterator iter, struct btree_node *node, int > lr); > +static void* default_malloc(const struct btree_allocator* alloc, size_t > size); Existing style in this function suggests "void *foo" rather than "void* foo". [snip] > +/* Default allocator implementation */ > +const struct btree_allocator BTREE_DEFAULT_ALLOCATOR = { Use of all-caps for a non-macro is a bit unexpected. > + .malloc = default_malloc, > + .free = default_free, > +}; -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson
signature.asc
Description: PGP signature
_______________________________________________ ccan mailing list ccan@lists.ozlabs.org https://lists.ozlabs.org/listinfo/ccan