From 35bad5b5b40be429cc4643b22e786b221ca0d133 Mon Sep 17 00:00:00 2001 From: mrb0nk500 Date: Mon, 7 Jun 2021 21:01:34 -0400 Subject: Fixed a bug with offsets being handled improperly in `set_config_opt()`. --- config.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/config.c b/config.c index 5435eb9..7111bc4 100644 --- a/config.c +++ b/config.c @@ -88,11 +88,12 @@ config_val parse_option_value(const config_opt *opt, char *value) { } void set_config_opt(config *conf, config_type type, size_t offset, config_val val) { + char *cfg = (char *)conf; switch (type) { - case TYPE_INT : *(int *)(conf+offset) = val.i; break; - case TYPE_STRING: *(char **)(conf+offset) = val.str; break; - case TYPE_FLOAT : *(float *)(conf+offset) = val.f; break; - case TYPE_BOOL : *(int *)(conf+offset) = val.b; break; + case TYPE_INT : *(int *)(cfg+offset) = val.i; break; + case TYPE_STRING: *(char **)(cfg+offset) = val.str; break; + case TYPE_FLOAT : *(float *)(cfg+offset) = val.f; break; + case TYPE_BOOL : *(int *)(cfg+offset) = val.b; break; default : break; } } -- cgit v1.2.3-13-gbd6f