Remove unused variables and change .c compilation rule, separate free in list free and element free
This commit is contained in:
parent
53afcb02bb
commit
b0fe2f65f2
4
Makefile
4
Makefile
|
@ -40,8 +40,8 @@ OBJ = ${SRC:.c=.o}
|
|||
|
||||
all: ${OBJ}
|
||||
|
||||
.c.o:
|
||||
${CC} -c ${CFLAGS} $<
|
||||
%.o: %.c
|
||||
${CC} -c ${CFLAGS} -o $@ $<
|
||||
|
||||
clean:
|
||||
rm -f ${OBJ}
|
||||
|
|
|
@ -1,7 +1,3 @@
|
|||
VERSION = 1.0.1
|
||||
|
||||
VERSION = 1.1.1
|
||||
PREFIX = /usr/local
|
||||
|
||||
CC = clang
|
||||
AR = llvm-ar
|
||||
RANLIB = llvm-ranlib
|
||||
|
|
25
llist.c
25
llist.c
|
@ -23,7 +23,8 @@
|
|||
|
||||
static llist_err corelibs_llist_create(void*, void (*)(void*), llist_t**);
|
||||
static llist_err corelibs_llist_link(llist_t*, llist_t*);
|
||||
static llist_err corelibs_llist_free(llist_t*);
|
||||
static llist_err corelibs_llist_free_list(llist_t*);
|
||||
static llist_err corelibs_llist_free_elem(llist_t*);
|
||||
|
||||
static llist_err corelibs_llist_set_cont(llist_t*, void*);
|
||||
static llist_err corelibs_llist_set_free(llist_t*, void (*)(void*));
|
||||
|
@ -51,7 +52,10 @@ enum { // Avoid collision in error numbers
|
|||
struct corelibs_llist_interface const llist = {
|
||||
.create = corelibs_llist_create,
|
||||
.link = corelibs_llist_link,
|
||||
.free = corelibs_llist_free,
|
||||
.free = {
|
||||
.list = corelibs_llist_free_list,
|
||||
.elem = corelibs_llist_free_elem,
|
||||
},
|
||||
.set = {
|
||||
.cont = corelibs_llist_set_cont,
|
||||
.free = corelibs_llist_set_free,
|
||||
|
@ -94,7 +98,7 @@ ret:
|
|||
}
|
||||
|
||||
static llist_err
|
||||
corelibs_llist_free(llist_t* l)
|
||||
corelibs_llist_free_list(llist_t* l)
|
||||
{
|
||||
llist_err err = CORELIBS_LLIST_ERR_OK;
|
||||
|
||||
|
@ -122,6 +126,21 @@ ret:
|
|||
return err;
|
||||
}
|
||||
|
||||
static llist_err
|
||||
corelibs_llist_free_elem(llist_t* l)
|
||||
{
|
||||
llist_err err = CORELIBS_LLIST_ERR_OK;
|
||||
|
||||
if (l == NULL) {
|
||||
err = CORELIBS_LLIST_ERR_NULL;
|
||||
goto ret;
|
||||
}
|
||||
corelibs_llist_remove(l);
|
||||
|
||||
ret:
|
||||
return err;
|
||||
}
|
||||
|
||||
static llist_err
|
||||
corelibs_llist_link(llist_t* a, llist_t* b)
|
||||
{
|
||||
|
|
5
llist.h
5
llist.h
|
@ -25,7 +25,10 @@ typedef signed short int llist_err;
|
|||
struct corelibs_llist_interface {
|
||||
llist_err (*const create)(void* content, void (*const free_function)(void*), llist_t** save);
|
||||
llist_err (*const link)(llist_t* element_a, llist_t* element_b);
|
||||
llist_err (*const free)(llist_t* element);
|
||||
const struct {
|
||||
llist_err (*const list)(llist_t* element);
|
||||
llist_err (*const elem)(llist_t* element);
|
||||
} free;
|
||||
const struct {
|
||||
llist_err (*const cont)(llist_t* element, void* content);
|
||||
llist_err (*const free)(llist_t* element, void (*const free_function)(void*));
|
||||
|
|
Reference in New Issue