dhcp/nettools: cleanup lease_parse_search_domains()

This commit is contained in:
Thomas Haller
2021-02-10 15:48:56 +01:00
parent 8366fd87b9
commit 4707cf5fab

View File

@@ -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