+
+ key = g_strdup_printf("%sDHCP.LastAddress", prefix);
+ if (ipconfig->last_dhcp_address &&
+ strlen(ipconfig->last_dhcp_address) > 0)
+ g_key_file_set_string(keyfile, identifier, key,
+ ipconfig->last_dhcp_address);
+ else
+ g_key_file_remove_key(keyfile, identifier, key, NULL);
+ g_free(key);
+
+ key = g_strdup_printf("%sDHCP.LastPrefixes", prefix);
+ if (ipconfig->last_dhcpv6_prefixes &&
+ ipconfig->last_dhcpv6_prefixes[0]) {
+ guint len =
+ g_strv_length(ipconfig->last_dhcpv6_prefixes);
+
+ g_key_file_set_string_list(keyfile, identifier, key,
+ (const gchar **)ipconfig->last_dhcpv6_prefixes,
+ len);
+ } else
+ g_key_file_remove_key(keyfile, identifier, key, NULL);
+ g_free(key);