From 3f38b765158c2ffcec7d1b314c3ba6aea3bc3e7b Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Wed, 6 Dec 2017 12:49:21 +0100 Subject: [PATCH] core: add nm_config_keyfile_get_int64() util --- src/nm-config.c | 27 +++++++++++++++++++++++++++ src/nm-config.h | 7 +++++++ 2 files changed, 34 insertions(+) diff --git a/src/nm-config.c b/src/nm-config.c index de727c9882..c344d5cd15 100644 --- a/src/nm-config.c +++ b/src/nm-config.c @@ -182,6 +182,33 @@ nm_config_keyfile_get_boolean (const GKeyFile *keyfile, return nm_config_parse_boolean (str, default_value); } +gint64 +nm_config_keyfile_get_int64 (const GKeyFile *keyfile, + const char *section, + const char *key, + guint base, + gint64 min, + gint64 max, + gint64 fallback) +{ + gint64 v; + int errsv; + char *str; + + g_return_val_if_fail (keyfile, fallback); + g_return_val_if_fail (section, fallback); + g_return_val_if_fail (key, fallback); + + str = g_key_file_get_value ((GKeyFile *) keyfile, section, key, NULL); + v = _nm_utils_ascii_str_to_int64 (str, base, min, max, fallback); + if (str) { + errsv = errno; + g_free (str); + errno = errsv; + } + return v; +} + char * nm_config_keyfile_get_value (const GKeyFile *keyfile, const char *section, diff --git a/src/nm-config.h b/src/nm-config.h index 3deec5fa72..389a5e30de 100644 --- a/src/nm-config.h +++ b/src/nm-config.h @@ -166,6 +166,13 @@ gint nm_config_keyfile_get_boolean (const GKeyFile *keyfile, const char *section, const char *key, gint default_value); +gint64 nm_config_keyfile_get_int64 (const GKeyFile *keyfile, + const char *section, + const char *key, + guint base, + gint64 min, + gint64 max, + gint64 fallback); char *nm_config_keyfile_get_value (const GKeyFile *keyfile, const char *section, const char *key,