From dcbfae2c1e98dc952c410cf9ece64ee016193230 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 7 Apr 2008 22:57:29 +0000 Subject: [PATCH] 2008-04-07 Dan Williams * system-settings/plugins/ifcfg-fedora/parser.c - (make_ip4_setting): fix parsing of DNS servers git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@3536 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 5 ++++ system-settings/plugins/ifcfg-fedora/parser.c | 29 +++++++++---------- 2 files changed, 19 insertions(+), 15 deletions(-) diff --git a/ChangeLog b/ChangeLog index 44c7d149d1..c962c181ce 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-04-07 Dan Williams + + * system-settings/plugins/ifcfg-fedora/parser.c + - (make_ip4_setting): fix parsing of DNS servers + 2008-04-05 Dan Williams * Makefile.am diff --git a/system-settings/plugins/ifcfg-fedora/parser.c b/system-settings/plugins/ifcfg-fedora/parser.c index 00ea39a748..4046151e27 100644 --- a/system-settings/plugins/ifcfg-fedora/parser.c +++ b/system-settings/plugins/ifcfg-fedora/parser.c @@ -260,6 +260,17 @@ get_one_ip4_addr (shvarFile *ifcfg, g_free (value); } +#define GET_ONE_DNS(tag) \ + { \ + guint32 dns = 0; \ + get_one_ip4_addr (ifcfg, "DNS1", &dns, error); \ + if (*error) \ + goto error; \ + if (dns) \ + g_array_append_val (s_ip4->dns, dns); \ + } + + static NMSetting * make_ip4_setting (shvarFile *ifcfg, GError **error) { @@ -267,7 +278,6 @@ make_ip4_setting (shvarFile *ifcfg, GError **error) char *value = NULL; NMSettingIP4Address tmp = { 0, 0, 0 }; char *method = NM_SETTING_IP4_CONFIG_METHOD_MANUAL; - guint32 dns; value = svGetValue (ifcfg, "BOOTPROTO"); if (value && (!g_ascii_strcasecmp (value, "bootp") || !g_ascii_strcasecmp (value, "dhcp"))) @@ -305,20 +315,9 @@ done: if (g_ascii_strcasecmp (method, NM_SETTING_IP4_CONFIG_METHOD_AUTOIP)) { s_ip4->dns = g_array_sized_new (FALSE, TRUE, sizeof (guint32), 3); - get_one_ip4_addr (ifcfg, "DNS1", &dns, error); - if (*error) - goto error; - g_array_append_val (s_ip4->dns, dns); - - get_one_ip4_addr (ifcfg, "DNS2", &dns, error); - if (*error) - goto error; - g_array_append_val (s_ip4->dns, dns); - - get_one_ip4_addr (ifcfg, "DNS3", &dns, error); - if (*error) - goto error; - g_array_append_val (s_ip4->dns, dns); + GET_ONE_DNS("DNS1"); + GET_ONE_DNS("DNS2"); + GET_ONE_DNS("DNS3"); if (s_ip4->dns && !s_ip4->dns->len) { g_array_free (s_ip4->dns, TRUE);