diff options
| author | Michael Biebl <biebl@debian.org> | 2020-06-28 18:58:14 +0200 |
|---|---|---|
| committer | Michael Biebl <biebl@debian.org> | 2020-06-28 18:58:14 +0200 |
| commit | a54ac63bbf9b2c71026ac9028a8ffaf186cf3c82 (patch) | |
| tree | 6a32883bd916c4096357b35298beff6db8bcd0b5 /src/nm-config-data.c | |
| parent | 45e8e1149027529194982212c804c0468aa01d98 (diff) | |
New upstream version 1.25.90 upstream/1.25.90
Diffstat (limited to 'src/nm-config-data.c')
| -rw-r--r-- | src/nm-config-data.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/src/nm-config-data.c b/src/nm-config-data.c index 29dafa14..4169a36e 100644 --- a/src/nm-config-data.c +++ b/src/nm-config-data.c @@ -12,6 +12,7 @@ #include "devices/nm-device.h" #include "nm-core-internal.h" #include "nm-keyfile/nm-keyfile-internal.h" +#include "nm-keyfile/nm-keyfile-utils.h" /*****************************************************************************/ @@ -116,14 +117,6 @@ G_DEFINE_TYPE (NMConfigData, nm_config_data, G_TYPE_OBJECT) /*****************************************************************************/ -#define _HAS_PREFIX(str, prefix) \ - ({ \ - const char *_str = (str); \ - g_str_has_prefix ( _str, ""prefix"") && _str[NM_STRLEN(prefix)] != '\0'; \ - }) - -/*****************************************************************************/ - const char * nm_config_data_get_config_main_file (const NMConfigData *self) { @@ -215,6 +208,7 @@ nm_config_data_get_value_int64 (const NMConfigData *self, const char *group, con char ** nm_config_data_get_plugins (const NMConfigData *self, gboolean allow_default) { + gs_free_error GError *error = NULL; const NMConfigDataPrivate *priv; char **list; @@ -222,8 +216,9 @@ nm_config_data_get_plugins (const NMConfigData *self, gboolean allow_default) priv = NM_CONFIG_DATA_GET_PRIVATE (self); - list = g_key_file_get_string_list (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_MAIN, "plugins", NULL, NULL); - if (!list && allow_default) { + list = g_key_file_get_string_list (priv->keyfile, NM_CONFIG_KEYFILE_GROUP_MAIN, "plugins", NULL, &error); + if ( nm_keyfile_error_is_not_found (error) + && allow_default) { gs_unref_keyfile GKeyFile *kf = nm_config_create_keyfile (); /* let keyfile split the default string according to its own escaping rules. */ @@ -550,14 +545,14 @@ _merge_keyfiles (GKeyFile *keyfile_user, GKeyFile *keyfile_intern) continue; if ( !is_intern && !is_atomic - && _HAS_PREFIX (key, NM_CONFIG_KEYFILE_KEYPREFIX_WAS)) { + && NM_STR_HAS_PREFIX_WITH_MORE (key, NM_CONFIG_KEYFILE_KEYPREFIX_WAS)) { const char *key_base = &key[NM_STRLEN (NM_CONFIG_KEYFILE_KEYPREFIX_WAS)]; if (!g_key_file_has_key (keyfile_intern, group, key_base, NULL)) g_key_file_remove_key (keyfile, group, key_base, NULL); continue; } - if (!is_intern && !is_atomic && _HAS_PREFIX (key, NM_CONFIG_KEYFILE_KEYPREFIX_SET)) + if (!is_intern && !is_atomic && NM_STR_HAS_PREFIX_WITH_MORE (key, NM_CONFIG_KEYFILE_KEYPREFIX_SET)) continue; value = g_key_file_get_value (keyfile_intern, group, key, NULL); |