---
 src/dhcpv6.c |  113 ++++++++++++++++++++++++++++++++--------------------------
 1 files changed, 62 insertions(+), 51 deletions(-)

diff --git a/src/dhcpv6.c b/src/dhcpv6.c
index bf764c8..f0889ac 100644
--- a/src/dhcpv6.c
+++ b/src/dhcpv6.c
@@ -278,25 +278,28 @@ static void info_req_cb(GDHCPClient *dhcp_client, 
gpointer user_data)
        if (nameservers != NULL) {
                for (i = 0, list = option; list; list = list->next, i++)
                        nameservers[i] = g_strdup(list->data);
-       }
 
-       if (compare_string_arrays(nameservers, dhcp->nameservers) == FALSE) {
-               if (dhcp->nameservers != NULL) {
-                       for (i = 0; dhcp->nameservers[i] != NULL; i++)
-                               __connman_service_nameserver_remove(service,
+               if (compare_string_arrays(nameservers, dhcp->nameservers)
+                                                               == FALSE) {
+                       if (dhcp->nameservers != NULL) {
+                               for (i = 0; dhcp->nameservers[i] != NULL; i++)
+                                       __connman_service_nameserver_remove(
+                                                       service,
                                                        dhcp->nameservers[i],
                                                        FALSE);
-                       g_strfreev(dhcp->nameservers);
-               }
+                               g_strfreev(dhcp->nameservers);
+                       }
+
+                       dhcp->nameservers = nameservers;
 
-               dhcp->nameservers = nameservers;
+                       for (i = 0; dhcp->nameservers[i] != NULL; i++)
+                               __connman_service_nameserver_append(service,
+                                                       dhcp->nameservers[i],
+                                                       FALSE);
+               } else
+                       g_strfreev(nameservers);
 
-               for (i = 0; dhcp->nameservers[i] != NULL; i++)
-                       __connman_service_nameserver_append(service,
-                                               dhcp->nameservers[i],
-                                               FALSE);
-       } else
-               g_strfreev(nameservers);
+       }
 
 
        option = g_dhcp_client_get_option(dhcp_client, G_DHCPV6_SNTP_SERVERS);
@@ -306,23 +309,25 @@ static void info_req_cb(GDHCPClient *dhcp_client, 
gpointer user_data)
        if (timeservers != NULL) {
                for (i = 0, list = option; list; list = list->next, i++)
                        timeservers[i] = g_strdup(list->data);
-       }
 
-       if (compare_string_arrays(timeservers, dhcp->timeservers) == FALSE) {
-               if (dhcp->timeservers != NULL) {
-                       for (i = 0; dhcp->timeservers[i] != NULL; i++)
-                               __connman_service_timeserver_remove(service,
-                                                       dhcp->timeservers[i]);
-                       g_strfreev(dhcp->timeservers);
-               }
+               if (compare_string_arrays(timeservers, dhcp->timeservers)
+                                                               == FALSE) {
+                       if (dhcp->timeservers != NULL) {
+                               for (i = 0; dhcp->timeservers[i] != NULL; i++)
+                                       __connman_service_timeserver_remove(
+                                               service, dhcp->timeservers[i]);
+                               g_strfreev(dhcp->timeservers);
+                       }
 
-               dhcp->timeservers = timeservers;
+                       dhcp->timeservers = timeservers;
 
-               for (i = 0; dhcp->timeservers[i] != NULL; i++)
-                       __connman_service_timeserver_append(service,
+                       for (i = 0; dhcp->timeservers[i] != NULL; i++)
+                               __connman_service_timeserver_append(service,
                                                        dhcp->timeservers[i]);
-       } else
-               g_strfreev(timeservers);
+               } else
+                       g_strfreev(timeservers);
+
+       }
 
 
        if (dhcp->callback != NULL) {
@@ -456,25 +461,28 @@ static int set_addresses(GDHCPClient *dhcp_client,
        if (nameservers != NULL) {
                for (i = 0, list = option; list; list = list->next, i++)
                        nameservers[i] = g_strdup(list->data);
-       }
 
-       if (compare_string_arrays(nameservers, dhcp->nameservers) == FALSE) {
-               if (dhcp->nameservers != NULL) {
-                       for (i = 0; dhcp->nameservers[i] != NULL; i++)
-                               __connman_service_nameserver_remove(service,
+               if (compare_string_arrays(nameservers, dhcp->nameservers)
+                                                               == FALSE) {
+                       if (dhcp->nameservers != NULL) {
+                               for (i = 0; dhcp->nameservers[i] != NULL; i++)
+                                       __connman_service_nameserver_remove(
+                                                       service,
                                                        dhcp->nameservers[i],
                                                        FALSE);
-                       g_strfreev(dhcp->nameservers);
-               }
+                               g_strfreev(dhcp->nameservers);
+                       }
 
-               dhcp->nameservers = nameservers;
+                       dhcp->nameservers = nameservers;
 
-               for (i = 0; dhcp->nameservers[i] != NULL; i++)
-                       __connman_service_nameserver_append(service,
+                       for (i = 0; dhcp->nameservers[i] != NULL; i++)
+                               __connman_service_nameserver_append(service,
                                                        dhcp->nameservers[i],
                                                        FALSE);
-       } else
-               g_strfreev(nameservers);
+               } else
+                       g_strfreev(nameservers);
+
+       }
 
 
        option = g_dhcp_client_get_option(dhcp_client, G_DHCPV6_SNTP_SERVERS);
@@ -484,23 +492,26 @@ static int set_addresses(GDHCPClient *dhcp_client,
        if (timeservers != NULL) {
                for (i = 0, list = option; list; list = list->next, i++)
                        timeservers[i] = g_strdup(list->data);
-       }
 
-       if (compare_string_arrays(timeservers, dhcp->timeservers) == FALSE) {
-               if (dhcp->timeservers != NULL) {
-                       for (i = 0; dhcp->timeservers[i] != NULL; i++)
-                               __connman_service_timeserver_remove(service,
+               if (compare_string_arrays(timeservers, dhcp->timeservers)
+                                                               == FALSE) {
+                       if (dhcp->timeservers != NULL) {
+                               for (i = 0; dhcp->timeservers[i] != NULL; i++)
+                                       __connman_service_timeserver_remove(
+                                                       service,
                                                        dhcp->timeservers[i]);
-                       g_strfreev(dhcp->timeservers);
-               }
+                               g_strfreev(dhcp->timeservers);
+                       }
 
-               dhcp->timeservers = timeservers;
+                       dhcp->timeservers = timeservers;
 
-               for (i = 0; dhcp->timeservers[i] != NULL; i++)
-                       __connman_service_timeserver_append(service,
+                       for (i = 0; dhcp->timeservers[i] != NULL; i++)
+                               __connman_service_timeserver_append(service,
                                                        dhcp->timeservers[i]);
-       } else
-               g_strfreev(timeservers);
+               } else
+                       g_strfreev(timeservers);
+
+       }
 
 
        option = g_dhcp_client_get_option(dhcp_client, G_DHCPV6_IA_NA);
-- 
1.7.5.4

_______________________________________________
connman mailing list
connman@connman.net
http://lists.connman.net/listinfo/connman

Reply via email to