From d277a1735b2ef3d6b9412bde039bd31dda4fe2f7 Mon Sep 17 00:00:00 2001 From: Quinn Date: Sat, 14 Jun 2025 21:43:33 +0200 Subject: [PATCH] fix: long is 4 bytes on mingw systems --- src/util/conf.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/util/conf.c b/src/util/conf.c index 7495812..ebb151c 100644 --- a/src/util/conf.c +++ b/src/util/conf.c @@ -69,7 +69,7 @@ int conf_procval(struct conf_entry const* opt, char const* restrict val) { // parse the data errno = 0; char* end; - int8_t dat[sizeof(long)]; + int8_t dat[sizeof(int64_t)]; switch (opt->type) { // signed integer data parsing @@ -77,14 +77,14 @@ int conf_procval(struct conf_entry const* opt, char const* restrict val) { case CONF_I16: case CONF_I32: case CONF_I64: - *(long*)dat = strtol(val, &end, 10); // for signed integer types + *(int64_t*)dat = strtoll(val, &end, 10); // for signed integer types break; // unsigned integer data parsing case CONF_U8: case CONF_U16: case CONF_U32: case CONF_U64: - *(long*)dat = strtoul(val, &end, 10); // for unsigned integer types + *(int64_t*)dat = strtoull(val, &end, 10); // for unsigned integer types break; // floating-point data parsing