*
* Connection Manager
*
- * Copyright (C) 2007-2010 Intel Corporation. All rights reserved.
+ * Copyright (C) 2007-2012 Intel Corporation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
ip_change = FALSE;
option = g_dhcp_client_get_option(dhcp_client, G_DHCP_DNS_SERVER);
- for (ns_entries = 0, list = option; list; list = list->next)
- ns_entries += 1;
+ ns_entries = g_list_length(option);
nameservers = g_try_new0(char *, ns_entries + 1);
if (nameservers != NULL) {
for (i = 0, list = option; list; list = list->next, i++)
hostname = g_strdup(option->data);
option = g_dhcp_client_get_option(dhcp_client, G_DHCP_NTP_SERVER);
- for (ns_entries = 0, list = option; list; list = list->next)
- ns_entries += 1;
+ ns_entries = g_list_length(option);
timeservers = g_try_new0(char *, ns_entries + 1);
if (timeservers != NULL) {
for (i = 0, list = option; list; list = list->next, i++)
dhcp->nameservers = nameservers;
- for (i = 0; dhcp->nameservers[i] != NULL; i++) {
+ for (i = 0; dhcp->nameservers != NULL &&
+ dhcp->nameservers[i] != NULL; i++) {
__connman_service_nameserver_append(service,
dhcp->nameservers[i], FALSE);
}
dhcp->timeservers = timeservers;
- for (i = 0; dhcp->timeservers[i] != NULL; i++) {
+ for (i = 0; dhcp->timeservers != NULL &&
+ dhcp->timeservers[i] != NULL; i++) {
__connman_service_timeserver_append(service,
dhcp->timeservers[i]);
}
if (getenv("CONNMAN_DHCP_DEBUG"))
g_dhcp_client_set_debug(dhcp_client, dhcp_debug, "DHCP");
+ g_dhcp_client_set_id(dhcp_client);
+
hostname = connman_utsname_get_hostname();
if (hostname != NULL)
g_dhcp_client_set_send(dhcp_client, G_DHCP_HOST_NAME, hostname);