From cec562b041e251ef5260a22cb72acfd65c0d851f Mon Sep 17 00:00:00 2001 From: Nikita Fediuchin Date: Sun, 9 Jun 2024 20:14:48 +0200 Subject: [PATCH] Allow to specify floats as "1.0" and "1" --- source/reader.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/source/reader.c b/source/reader.c index 559a270..e35aa24 100644 --- a/source/reader.c +++ b/source/reader.c @@ -549,11 +549,20 @@ bool getConfReaderFloat(ConfReader confReader, const char* key, double* value) ConfItem* foundItem = bsearch(&item, confReader->items, confReader->itemCount, sizeof(struct ConfItem), compareConfItems); - if (!foundItem || foundItem->type != FLOATING_CONF_DATA_TYPE) + if (!foundItem) return false; - *value = foundItem->value.floating; - return true; + if (foundItem->type == FLOATING_CONF_DATA_TYPE) + { + *value = foundItem->value.floating; + return true; + } + else if (foundItem->type == INTEGER_CONF_DATA_TYPE) + { + *value = foundItem->value.integer; + return true; + } + return false; } bool getConfReaderBool(ConfReader confReader, const char* key, bool* value)