From 955997d58c66cd21775f6b99573cd9c76a69ea8a Mon Sep 17 00:00:00 2001 From: Enno Rehling Date: Thu, 26 Jan 2017 06:00:01 +0100 Subject: [PATCH] WIP: use latest clibs with selist. adding a transitional quicklist.c module to reduce work. --- clibs | 2 +- src/CMakeLists.txt | 1 + src/donations.c | 4 ++-- src/quicklist.c | 4 ++++ src/quicklist.h | 14 ++++++++++++++ 5 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 src/quicklist.c create mode 100644 src/quicklist.h diff --git a/clibs b/clibs index bce9b6568..339ac5680 160000 --- a/clibs +++ b/clibs @@ -1 +1 @@ -Subproject commit bce9b6568d4e9ace26c95a7740140cd71029b21f +Subproject commit 339ac5680ec9027c88c4516c72b9da8233b6f3e3 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index ea76d4dbb..06af86c8b 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -88,6 +88,7 @@ set (ERESSEA_SRC move.c piracy.c spells.c + quicklist.c battle.c alchemy.c academy.c diff --git a/src/donations.c b/src/donations.c index 8f820df2b..c6e4308ac 100644 --- a/src/donations.c +++ b/src/donations.c @@ -54,8 +54,8 @@ void add_donation(faction * f1, faction * f2, int amount, region * r) } void free_donations(void) { - ql_foreach(transfers, free); - ql_free(transfers); + selist_foreach(transfers, free); + selist_free(transfers); transfers = 0; } diff --git a/src/quicklist.c b/src/quicklist.c new file mode 100644 index 000000000..75d7b8641 --- /dev/null +++ b/src/quicklist.c @@ -0,0 +1,4 @@ +#include "quicklist.h" + +bool ql_set_insert_ex(struct quicklist **qlp, void *data, int (*cmp_cb)(const void *lhs, const void *rhs)); +bool ql_set_find_ex(struct quicklist **qlp, int *qip, const void *data, int (*cmp_cb)(const void *lhs, const void *rhs)); diff --git a/src/quicklist.h b/src/quicklist.h new file mode 100644 index 000000000..fe2f26991 --- /dev/null +++ b/src/quicklist.h @@ -0,0 +1,14 @@ +#pragma once + +#define selist quicklist +#define selist_free ql_free +#define selist_get ql_get +#define selist_push ql_push +#define selist_empty ql_empty +#define selist_advance ql_advance +#include +#include + +typedef void(*ql_cb)(void *); +bool ql_set_insert_ex(struct quicklist **qlp, void *data, int (*cmp_cb)(const void *lhs, const void *rhs)); +bool ql_set_find_ex(struct quicklist **qlp, int *qip, const void *data, int (*cmp_cb)(const void *lhs, const void *rhs));