diff --git a/CMakeLists.txt b/CMakeLists.txt index fca00820a9ad62ec03fe638f01a811c975532f85..a0d44e12397fdd003c956a136510700308f9887a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -133,6 +133,7 @@ set(lektor_base_SOURCES src/base/uri.c src/base/commands.c src/base/os.c + src/base/stb.c ) set(lektor_net_SOURCES diff --git a/inc/lektor/stb/ds.h b/inc/lektor/stb/ds.h index 4c59bcc60b05302bd395f82b360541223daf5d9d..2a0c631e7e1561e4a01954fa4a49a11ff0086c5d 100644 --- a/inc/lektor/stb/ds.h +++ b/inc/lektor/stb/ds.h @@ -535,7 +535,7 @@ extern void *stbds_shmode_func(size_t elemsize, int mode); #define STBDS_OFFSETOF(var, field) ((char *)&(var)->field - (char *)(var)) -#define stbds_header(t) ((stbds_array_header *)(t)-1) +#define stbds_header(t) (((stbds_array_header *)(t)) - 1) #define stbds_temp(t) stbds_header(t)->temp #define stbds_temp_key(t) (*(char **)stbds_header(t)->hash_table) diff --git a/src/base/stb.c b/src/base/stb.c new file mode 100644 index 0000000000000000000000000000000000000000..28eae51fc125706ac494a8f4f7857471201f6728 --- /dev/null +++ b/src/base/stb.c @@ -0,0 +1,5 @@ +/* Include all implementations here to not compile the things or have multiple + * defines in multiple places of the same symbols. */ + +#define STB_DS_IMPLEMENTATION +#include <lektor/stb/ds.h>