summaryrefslogtreecommitdiff
path: root/src/settings/plugins/ifupdown/nms-ifupdown-connection.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings/plugins/ifupdown/nms-ifupdown-connection.c')
-rw-r--r--src/settings/plugins/ifupdown/nms-ifupdown-connection.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/settings/plugins/ifupdown/nms-ifupdown-connection.c b/src/settings/plugins/ifupdown/nms-ifupdown-connection.c
index c3d231fe16..bdca91d66c 100644
--- a/src/settings/plugins/ifupdown/nms-ifupdown-connection.c
+++ b/src/settings/plugins/ifupdown/nms-ifupdown-connection.c
@@ -64,26 +64,29 @@ nm_ifupdown_connection_init (NMIfupdownConnection *connection)
{
}
-NMIfupdownConnection*
+NMIfupdownConnection *
nm_ifupdown_connection_new (if_block *block)
{
- GObject *object;
+ NMIfupdownConnection *connection;
GError *error = NULL;
g_return_val_if_fail (block != NULL, NULL);
- object = g_object_new (NM_TYPE_IFUPDOWN_CONNECTION, NULL);
+ connection = g_object_new (NM_TYPE_IFUPDOWN_CONNECTION, NULL);
- if (!ifupdown_update_connection_from_if_block (NM_CONNECTION (object), block, &error)) {
+ /* FIXME(copy-on-write-connection): avoid modifying NMConnection instances and share them via copy-on-write. */
+ if (!ifupdown_update_connection_from_if_block (nm_settings_connection_get_connection (NM_SETTINGS_CONNECTION (connection)),
+ block,
+ &error)) {
nm_log_warn (LOGD_SETTINGS, "%s.%d - invalid connection read from /etc/network/interfaces: %s",
__FILE__,
__LINE__,
error->message);
- g_object_unref (object);
+ g_object_unref (connection);
return NULL;
}
- return (NMIfupdownConnection *) object;
+ return connection;
}
static void