void connman_ipaddress_set_peer(struct connman_ipaddress *ipaddress,
const char *peer);
void connman_ipaddress_clear(struct connman_ipaddress *ipaddress);
-void connman_ipaddress_copy(struct connman_ipaddress *ipaddress,
+void connman_ipaddress_copy_address(struct connman_ipaddress *ipaddress,
struct connman_ipaddress *source);
#ifdef __cplusplus
ipaddress->gateway = NULL;
}
-void connman_ipaddress_copy(struct connman_ipaddress *ipaddress,
+/*
+ * Note that this copy function only copies the actual address and
+ * prefixlen. If you need full copy of ipaddress struct, then you need
+ * to create a new function that does that.
+ */
+void connman_ipaddress_copy_address(struct connman_ipaddress *ipaddress,
struct connman_ipaddress *source)
{
if (ipaddress == NULL || source == NULL)
g_free(ipaddress->local);
ipaddress->local = g_strdup(source->local);
-
- g_free(ipaddress->peer);
- ipaddress->peer = g_strdup(source->peer);
-
- g_free(ipaddress->broadcast);
- ipaddress->broadcast = g_strdup(source->broadcast);
-
- g_free(ipaddress->gateway);
- ipaddress->gateway = g_strdup(source->gateway);
}
__connman_ippool_newaddr(index, address, prefixlen);
if (ipdevice->config_ipv4 != NULL && family == AF_INET)
- connman_ipaddress_copy(ipdevice->config_ipv4->system,
+ connman_ipaddress_copy_address(ipdevice->config_ipv4->system,
ipaddress);
else if (ipdevice->config_ipv6 != NULL && family == AF_INET6)
- connman_ipaddress_copy(ipdevice->config_ipv6->system,
+ connman_ipaddress_copy_address(ipdevice->config_ipv6->system,
ipaddress);
else
return;