diff options
Diffstat (limited to 'src/core/dhcp/nm-dhcp-client.c')
| -rw-r--r-- | src/core/dhcp/nm-dhcp-client.c | 32 |
1 files changed, 10 insertions, 22 deletions
diff --git a/src/core/dhcp/nm-dhcp-client.c b/src/core/dhcp/nm-dhcp-client.c index 85e48ff7..2bfd7e01 100644 --- a/src/core/dhcp/nm-dhcp-client.c +++ b/src/core/dhcp/nm-dhcp-client.c @@ -109,25 +109,22 @@ nm_dhcp_client_get_pid(NMDhcpClient *self) return NM_DHCP_CLIENT_GET_PRIVATE(self)->pid; } -static void -_set_effective_client_id(NMDhcpClient *self, GBytes *client_id, gboolean take) +void +nm_dhcp_client_set_effective_client_id(NMDhcpClient *self, GBytes *client_id) { NMDhcpClientPrivate *priv = NM_DHCP_CLIENT_GET_PRIVATE(self); - nm_assert(!client_id || g_bytes_get_size(client_id) >= 2); + g_return_if_fail(NM_IS_DHCP_CLIENT(self)); + g_return_if_fail(!client_id || g_bytes_get_size(client_id) >= 2); + + priv = NM_DHCP_CLIENT_GET_PRIVATE(self); - if (priv->effective_client_id == client_id - || (priv->effective_client_id && client_id - && g_bytes_equal(priv->effective_client_id, client_id))) { - if (take && client_id) - g_bytes_unref(client_id); + if (nm_g_bytes_equal0(priv->effective_client_id, client_id)) return; - } - if (priv->effective_client_id) - g_bytes_unref(priv->effective_client_id); + g_bytes_unref(priv->effective_client_id); priv->effective_client_id = client_id; - if (!take && client_id) + if (client_id) g_bytes_ref(client_id); { @@ -141,15 +138,6 @@ _set_effective_client_id(NMDhcpClient *self, GBytes *client_id, gboolean take) } } -void -nm_dhcp_client_set_effective_client_id(NMDhcpClient *self, GBytes *client_id) -{ - g_return_if_fail(NM_IS_DHCP_CLIENT(self)); - g_return_if_fail(!client_id || g_bytes_get_size(client_id) >= 2); - - _set_effective_client_id(self, client_id, FALSE); -} - /*****************************************************************************/ NM_UTILS_LOOKUP_STR_DEFINE(nm_dhcp_state_to_string, @@ -678,7 +666,7 @@ nm_dhcp_client_start_ip6(NMDhcpClient *self, GError **error) if (!priv->config.v6.enforce_duid) own_client_id = NM_DHCP_CLIENT_GET_CLASS(self)->get_duid(self); - _set_effective_client_id(self, own_client_id ?: priv->config.client_id, FALSE); + nm_dhcp_client_set_effective_client_id(self, own_client_id ?: priv->config.client_id); addr = ipv6_lladdr_find(self); if (!addr) { |