dhcp/nettools: cleanup lease_parse_search_domains()
This commit is contained in:
@@ -488,33 +488,31 @@ lease_parse_routes(NDhcp4ClientLease *lease,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*****************************************************************************/
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
lease_parse_search_domains(NDhcp4ClientLease *lease, NMIP4Config *ip4_config, GHashTable *options)
|
lease_parse_search_domains(NDhcp4ClientLease *lease, NMIP4Config *ip4_config, GHashTable *options)
|
||||||
{
|
{
|
||||||
nm_auto_free_gstring GString *str = NULL;
|
gs_strfreev char **domains = NULL;
|
||||||
uint8_t * data;
|
const guint8 * l_data;
|
||||||
size_t n_data;
|
gsize l_data_len;
|
||||||
gs_strfreev char ** domains = NULL;
|
guint i;
|
||||||
guint i;
|
int r;
|
||||||
int r;
|
|
||||||
|
|
||||||
r = n_dhcp4_client_lease_query(lease, NM_DHCP_OPTION_DHCP4_DOMAIN_SEARCH_LIST, &data, &n_data);
|
r = _client_lease_query(lease, NM_DHCP_OPTION_DHCP4_DOMAIN_SEARCH_LIST, &l_data, &l_data_len);
|
||||||
if (r)
|
if (r != 0)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
domains = nm_dhcp_lease_data_parse_search_list(data, n_data);
|
domains = nm_dhcp_lease_data_parse_search_list(l_data, l_data_len);
|
||||||
nm_gstring_prepare(&str);
|
|
||||||
|
|
||||||
for (i = 0; domains && domains[i]; i++) {
|
if (!domains || !domains[0])
|
||||||
g_string_append(nm_gstring_add_space_delimiter(str), domains[i]);
|
return;
|
||||||
|
|
||||||
|
for (i = 0; domains[i]; i++)
|
||||||
nm_ip4_config_add_search(ip4_config, domains[i]);
|
nm_ip4_config_add_search(ip4_config, domains[i]);
|
||||||
}
|
|
||||||
nm_dhcp_option_add_option(options,
|
nm_dhcp_option_take_option(options,
|
||||||
_nm_dhcp_option_dhcp4_options,
|
_nm_dhcp_option_dhcp4_options,
|
||||||
NM_DHCP_OPTION_DHCP4_DOMAIN_SEARCH_LIST,
|
NM_DHCP_OPTION_DHCP4_DOMAIN_SEARCH_LIST,
|
||||||
str->str);
|
g_strjoinv(" ", domains));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
Reference in New Issue
Block a user