From 23f81c94f556f5a286b9c2e02787ba51b80a8932 Mon Sep 17 00:00:00 2001 From: FunkyFr3sh Date: Thu, 19 Oct 2023 00:54:48 +0200 Subject: [PATCH] add ini_get_float function --- inc/ini.h | 1 + src/ini.c | 11 +++++++++++ 2 files changed, 12 insertions(+) diff --git a/inc/ini.h b/inc/ini.h index ee88575..dfcee82 100644 --- a/inc/ini.h +++ b/inc/ini.h @@ -15,6 +15,7 @@ void ini_create(INIFILE* ini, char* filename); DWORD ini_get_string(INIFILE* ini, LPCSTR section, LPCSTR key, LPCSTR def, LPSTR buf, DWORD size); BOOL ini_get_bool(INIFILE* ini, LPCSTR section, LPCSTR key, BOOL def); int ini_get_int(INIFILE* ini, LPCSTR section, LPCSTR key, int def); +float ini_get_float(INIFILE* ini, LPCSTR section, LPCSTR key, float def); void ini_free(INIFILE* ini); #endif diff --git a/src/ini.c b/src/ini.c index 593dbba..b71f275 100644 --- a/src/ini.c +++ b/src/ini.c @@ -155,6 +155,17 @@ int ini_get_int(INIFILE* ini, LPCSTR section, LPCSTR key, int def) } } +float ini_get_float(INIFILE* ini, LPCSTR section, LPCSTR key, float def) +{ + char def_str[32]; + _snprintf(def_str, sizeof(def_str) - 1, "%f", def); + + char value[32]; + ini_get_string(ini, section, key, def_str, value, sizeof(value)); + + return (float)atof(value); +} + void ini_free(INIFILE* ini) { if (!ini)