From: Hans de Goede Date: Wed, 25 Sep 2019 19:30:44 +0000 (+0200) Subject: libply: Add ply_key_file_get_double() function X-Git-Tag: 0.9.5~38^2~3 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8bcb989d8d311e97bb5895cb39dc7b37392af314;p=thirdparty%2Fplymouth.git libply: Add ply_key_file_get_double() function Add a ply_key_file_get_double() function which plugins can use to read a double value, instead of them having to repeat this pattern over and over: double_str = ply_key_file_get_value (key_file, "group", "key"); if (double_str != NULL) foo = ply_strtod (double_str); else foo = 1.0; free (double_str); Signed-off-by: Hans de Goede --- diff --git a/src/libply/ply-key-file.c b/src/libply/ply-key-file.c index 7d9b7ab2..e31f39a3 100644 --- a/src/libply/ply-key-file.c +++ b/src/libply/ply-key-file.c @@ -387,6 +387,20 @@ ply_key_file_get_bool (ply_key_file_t *key_file, return false; } +double +ply_key_file_get_double (ply_key_file_t *key_file, + const char *group, + const char *key, + double default_value) +{ + char *raw_value = ply_key_file_get_raw_value (key_file, group, key); + + if (!raw_value) + return default_value; + + return ply_strtod (raw_value); +} + static void ply_key_file_foreach_entry_entries (void *key, void *data, diff --git a/src/libply/ply-key-file.h b/src/libply/ply-key-file.h index ef7124b5..f0610c95 100644 --- a/src/libply/ply-key-file.h +++ b/src/libply/ply-key-file.h @@ -46,6 +46,10 @@ char *ply_key_file_get_value (ply_key_file_t *key_file, bool ply_key_file_get_bool (ply_key_file_t *key_file, const char *group_name, const char *key); +double ply_key_file_get_double (ply_key_file_t *key_file, + const char *group_name, + const char *key, + double default_value); void ply_key_file_foreach_entry (ply_key_file_t *key_file, ply_key_file_foreach_func_t func, void *user_data);