From: Jennifer Richards Date: Wed, 10 Aug 2016 18:35:59 +0000 (-0400) Subject: Create/destroy TR_APC structures. X-Git-Tag: v2.0~21 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=trust_router.git;a=commitdiff_plain;h=fa3293d1f5199ba07e99e492c2fe21bd011886e0 Create/destroy TR_APC structures. --- diff --git a/common/tr_apc.c b/common/tr_apc.c new file mode 100644 index 0000000..9728022 --- /dev/null +++ b/common/tr_apc.c @@ -0,0 +1,40 @@ +#include + +#include +#include + +static int tr_apc_destructor(void *obj) +{ + TR_APC *apc=talloc_get_type_abort(obj, TR_APC); + if (apc->id!=NULL) + tr_free_name(apc->id); + return 0; +} + +TR_APC *tr_apc_new(TALLOC_CTX *mem_ctx) +{ + TR_APC *apc=talloc(mem_ctx, TR_APC); + if (apc!=NULL) { + apc->id=NULL; + apc->next=NULL; + talloc_set_destructor((void *)apc, tr_apc_destructor); + } + return apc; +} + +void tr_apc_free(TR_APC *apc) +{ + talloc_free(apc); +} + +void tr_apc_set_id(TR_APC *apc, TR_NAME *id) +{ + if (apc->id) + tr_free_name(apc->id); + apc->id=id; +} + +TR_NAME *tr_apc_get_id(TR_APC *apc) +{ + return apc->id; +}