X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=lib%2Fjsw%2Fjsw_atree.h;h=6dccf07061a8b56e43d4bc6f5565e2c6f66417c2;hb=2cd74312335854621dc11ddfe55181292eb89c38;hp=54e4fd8ce520da77abd6e49a646939eec3632a5f;hpb=94724d7dd33cf19e283d86109adc037c0d771b6d;p=zpackage diff --git a/lib/jsw/jsw_atree.h b/lib/jsw/jsw_atree.h index 54e4fd8..6dccf07 100644 --- a/lib/jsw/jsw_atree.h +++ b/lib/jsw/jsw_atree.h @@ -27,17 +27,25 @@ typedef struct jsw_atree jsw_atree_t; typedef struct jsw_atrav jsw_atrav_t; /* User-defined item handling */ +#if 0 typedef int (*cmp_f) ( const void *p1, const void *p2 ); +#endif typedef void *(*dup_f) ( void *p ); typedef void (*rel_f) ( void *p ); /* Andersson tree functions */ -jsw_atree_t *jsw_anew ( cmp_f cmp, dup_f dup, rel_f rel ); +jsw_atree_t *jsw_anew ( + int (*cmp)(const void *, const void *), + void *(dup)(void *), + void (*rel)(void *) + ); +jsw_atree_t *jsw_anew_str(void); void jsw_adelete ( jsw_atree_t *tree ); void *jsw_afind ( jsw_atree_t *tree, void *data ); int jsw_ainsert ( jsw_atree_t *tree, void *data ); int jsw_aerase ( jsw_atree_t *tree, void *data ); size_t jsw_asize ( jsw_atree_t *tree ); +int jsw_afind_strcmp(const void *a, const void *b); /* Traversal functions */ jsw_atrav_t *jsw_atnew ( void );