summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2018-04-16 12:38:02 +0200
committerThomas Haller <thaller@redhat.com>2018-04-18 14:10:32 +0200
commit32e11ff7d9147c9b0ba9a91f3fc607c7566ef340 (patch)
tree40fb0b8ca2f93581b1854096626c32f67a735124
parent62e35985bbb13f5e2af225ce9e03f09dc7670b8e (diff)
downloadNetworkManager-32e11ff7d9147c9b0ba9a91f3fc607c7566ef340.tar.gz
keyfile: don't special case skipping connection.read-only property in writer
-rw-r--r--libnm-core/nm-keyfile.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/libnm-core/nm-keyfile.c b/libnm-core/nm-keyfile.c
index ea8f3b34f2..7ff19cd5d2 100644
--- a/libnm-core/nm-keyfile.c
+++ b/libnm-core/nm-keyfile.c
@@ -2130,6 +2130,9 @@ static const ParseInfoSetting parse_infos[] = {
),
PARSE_INFO_SETTING (NM_SETTING_CONNECTION_SETTING_NAME,
PARSE_INFO_PROPERTIES (
+ PARSE_INFO_PROPERTY (NM_SETTING_CONNECTION_READ_ONLY,
+ .writer_skip = TRUE,
+ ),
PARSE_INFO_PROPERTY (NM_SETTING_CONNECTION_TYPE,
.check_for_key = TRUE,
.parser = setting_alias_parser,
@@ -2791,7 +2794,7 @@ write_setting_value (NMSetting *setting,
{
KeyfileWriterInfo *info = user_data;
const char *setting_name;
- GType type = G_VALUE_TYPE (value);
+ GType type;
const ParseInfoProperty *pip;
GParamSpec *pspec;
@@ -2799,12 +2802,7 @@ write_setting_value (NMSetting *setting,
return;
/* Setting name gets picked up from the keyfile's section name instead */
- if (!strcmp (key, NM_SETTING_NAME))
- return;
-
- /* Don't write the NMSettingConnection object's 'read-only' property */
- if ( NM_IS_SETTING_CONNECTION (setting)
- && !strcmp (key, NM_SETTING_CONNECTION_READ_ONLY))
+ if (nm_streq (key, NM_SETTING_NAME))
return;
setting_name = nm_setting_get_name (setting);
@@ -2842,6 +2840,7 @@ write_setting_value (NMSetting *setting,
return;
}
+ type = G_VALUE_TYPE (value);
if (type == G_TYPE_STRING) {
const char *str;