From 88f5df59c94fa48c832118e81e6ddf2759cb0231 Mon Sep 17 00:00:00 2001 From: EuAndreh Date: Fri, 31 May 2024 15:35:16 -0300 Subject: Add initial private functions for src/set.c and src/tree.c --- src/set.c | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 src/set.c (limited to 'src/set.c') diff --git a/src/set.c b/src/set.c new file mode 100644 index 0000000..3c03231 --- /dev/null +++ b/src/set.c @@ -0,0 +1,53 @@ +#include "config.h" + +#include +#include +#include +#include +#include +#include + +#include "logerr.h" +#include "util.h" + +#include "set.h" + + + +struct Set { + size_t count; +}; + + + +int +set_new(const struct Set **const out) { + int rc = -1; + + const struct Set *ret = NULL; + + ret = malloc(sizeof(*ret)); + if (ret == NULL) { + logerr("malloc(): %s", strerror(errno)); + goto out; + } + + memcpy((void *)ret, &(struct Set) { + .count = 0U, + }, sizeof(*ret)); + *out = ret; + rc = 0; +out: + if (rc) { + if (ret != NULL) { + freeit((void *)&ret); + } + } + return rc; +} + +void +set_free(const struct Set **const s) { + assert((*s) != NULL); + free((void *)*s); +} -- cgit v1.2.3