diff options
author | Jussi Laakkonen <jussi.laakkonen@jolla.com> | 2020-12-08 12:17:58 +0200 |
---|---|---|
committer | Daniel Wagner <wagi@monom.org> | 2020-12-11 14:29:10 +0100 |
commit | 1d8273f25e1032affc0b4f9b5115f29f677eaa23 (patch) | |
tree | 12ee82eeda4be1f4409b6430f32a522526c84b64 /vpn | |
parent | 36b1bb63318c72e0e0018f0281103beb1d8fba24 (diff) | |
download | connman-1d8273f25e1032affc0b4f9b5115f29f677eaa23.tar.gz |
vpn-config: Implement function to get boolean from keyfile
Simple boolean getter for VPN keyfiles. In case of error (key missing or
invalid boolean) the default value given is returned.
Diffstat (limited to 'vpn')
-rw-r--r-- | vpn/vpn-config.c | 15 | ||||
-rw-r--r-- | vpn/vpn.h | 10 |
2 files changed, 21 insertions, 4 deletions
diff --git a/vpn/vpn-config.c b/vpn/vpn-config.c index 301243b5..8c6b0681 100644 --- a/vpn/vpn-config.c +++ b/vpn/vpn-config.c @@ -580,3 +580,18 @@ char **__vpn_config_get_string_list(GKeyFile *key_file, return strlist; } + +bool __vpn_config_get_boolean(GKeyFile *key_file, const char *group_name, + const char *key, bool default_value) +{ + GError *error = NULL; + bool val; + + val = g_key_file_get_boolean(key_file, group_name, key, &error); + if (error) { + g_error_free(error); + return default_value; + } + + return val; +} @@ -111,10 +111,12 @@ int __vpn_rtnl_send(const void *buf, size_t len); int __vpn_config_init(void); void __vpn_config_cleanup(void); -char *__vpn_config_get_string(GKeyFile *key_file, - const char *group_name, const char *key, GError **error); -char **__vpn_config_get_string_list(GKeyFile *key_file, - const char *group_name, const char *key, gsize *length, GError **error); +char *__vpn_config_get_string(GKeyFile *key_file, const char *group_name, + const char *key, GError **error); +char **__vpn_config_get_string_list(GKeyFile *key_file, const char *group_name, + const char *key, gsize *length, GError **error); +bool __vpn_config_get_boolean(GKeyFile *key_file, const char *group_name, + const char *key, bool default_value); int __vpn_settings_init(const char *file); void __vpn_settings_cleanup(void); |