summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Haller <thaller@redhat.com>2019-02-12 11:05:43 +0100
committerThomas Haller <thaller@redhat.com>2019-02-15 10:18:42 +0100
commit5e75525dc0d0c3b3a2c36ba6eda7bb39a62df9f9 (patch)
treec716cc9fdeb991a8a9acb2d7c08b020cb75d4874
parent086ace965e4d72dd50c3693a8b339a81958ec3df (diff)
downloadNetworkManager-th/c-list-move.tar.gz
all: use nm_c_list_move_*() helpersth/c-list-move
-rw-r--r--shared/nm-utils/nm-dedup-multi.c55
-rw-r--r--src/platform/nm-linux-platform.c4
2 files changed, 15 insertions, 44 deletions
diff --git a/shared/nm-utils/nm-dedup-multi.c b/shared/nm-utils/nm-dedup-multi.c
index 852c207c7f..5bdc3e3c03 100644
--- a/shared/nm-utils/nm-dedup-multi.c
+++ b/shared/nm-utils/nm-dedup-multi.c
@@ -24,6 +24,7 @@
#include "nm-dedup-multi.h"
#include "nm-hash-utils.h"
+#include "nm-c-list.h"
/*****************************************************************************/
@@ -260,44 +261,27 @@ _add (NMDedupMultiIndex *self,
nm_dedup_multi_entry_set_dirty (entry, FALSE);
nm_assert (!head_existing || entry->head == head_existing);
-
- if (entry_order) {
- nm_assert (entry_order->head == entry->head);
- nm_assert (c_list_contains (&entry->lst_entries, &entry_order->lst_entries));
- nm_assert (c_list_contains (&entry_order->lst_entries, &entry->lst_entries));
- }
+ nm_assert (!entry_order || entry_order->head == entry->head);
+ nm_assert (!entry_order || c_list_contains (&entry->lst_entries, &entry_order->lst_entries));
+ nm_assert (!entry_order || c_list_contains (&entry_order->lst_entries, &entry->lst_entries));
switch (mode) {
case NM_DEDUP_MULTI_IDX_MODE_PREPEND_FORCE:
if (entry_order) {
- if ( entry_order != entry
- && entry->lst_entries.next != &entry_order->lst_entries) {
- c_list_unlink_stale (&entry->lst_entries);
- c_list_link_before ((CList *) &entry_order->lst_entries, &entry->lst_entries);
+ if (nm_c_list_move_before ((CList *) &entry_order->lst_entries, &entry->lst_entries))
changed = TRUE;
- }
} else {
- if (entry->lst_entries.prev != &entry->head->lst_entries_head) {
- c_list_unlink_stale (&entry->lst_entries);
- c_list_link_front ((CList *) &entry->head->lst_entries_head, &entry->lst_entries);
+ if (nm_c_list_move_front ((CList *) &entry->head->lst_entries_head, &entry->lst_entries))
changed = TRUE;
- }
}
break;
case NM_DEDUP_MULTI_IDX_MODE_APPEND_FORCE:
if (entry_order) {
- if ( entry_order != entry
- && entry->lst_entries.prev != &entry_order->lst_entries) {
- c_list_unlink_stale (&entry->lst_entries);
- c_list_link_after ((CList *) &entry_order->lst_entries, &entry->lst_entries);
+ if (nm_c_list_move_after ((CList *) &entry_order->lst_entries, &entry->lst_entries))
changed = TRUE;
- }
} else {
- if (entry->lst_entries.next != &entry->head->lst_entries_head) {
- c_list_unlink_stale (&entry->lst_entries);
- c_list_link_tail ((CList *) &entry->head->lst_entries_head, &entry->lst_entries);
+ if (nm_c_list_move_tail ((CList *) &entry->head->lst_entries_head, &entry->lst_entries))
changed = TRUE;
- }
}
break;
case NM_DEDUP_MULTI_IDX_MODE_PREPEND:
@@ -1022,33 +1006,20 @@ nm_dedup_multi_entry_reorder (const NMDedupMultiEntry *entry,
if (!entry_order) {
const NMDedupMultiHeadEntry *head_entry = entry->head;
- nm_assert (c_list_contains (&head_entry->lst_entries_head, &entry->lst_entries));
if (order_after) {
- if (head_entry->lst_entries_head.prev != &entry->lst_entries) {
- c_list_unlink_stale ((CList *) &entry->lst_entries);
- c_list_link_tail ((CList *) &head_entry->lst_entries_head, (CList *) &entry->lst_entries);
+ if (nm_c_list_move_tail ((CList *) &head_entry->lst_entries_head, (CList *) &entry->lst_entries))
return TRUE;
- }
} else {
- if (head_entry->lst_entries_head.next != &entry->lst_entries) {
- c_list_unlink_stale ((CList *) &entry->lst_entries);
- c_list_link_front ((CList *) &head_entry->lst_entries_head, (CList *) &entry->lst_entries);
+ if (nm_c_list_move_front ((CList *) &head_entry->lst_entries_head, (CList *) &entry->lst_entries))
return TRUE;
- }
}
- } else if (entry != entry_order) {
+ } else {
if (order_after) {
- if (entry_order->lst_entries.next != &entry->lst_entries) {
- c_list_unlink_stale ((CList *) &entry->lst_entries);
- c_list_link_after ((CList *) &entry_order->lst_entries, (CList *) &entry->lst_entries);
+ if (nm_c_list_move_after ((CList *) &entry_order->lst_entries, (CList *) &entry->lst_entries))
return TRUE;
- }
} else {
- if (entry_order->lst_entries.prev != &entry->lst_entries) {
- c_list_unlink_stale ((CList *) &entry->lst_entries);
- c_list_link_before ((CList *) &entry_order->lst_entries, (CList *) &entry->lst_entries);
+ if (nm_c_list_move_before ((CList *) &entry_order->lst_entries, (CList *) &entry->lst_entries))
return TRUE;
- }
}
}
diff --git a/src/platform/nm-linux-platform.c b/src/platform/nm-linux-platform.c
index a7daebf821..8777867841 100644
--- a/src/platform/nm-linux-platform.c
+++ b/src/platform/nm-linux-platform.c
@@ -44,6 +44,7 @@
#include "nm-setting-vlan.h"
#include "nm-utils/nm-secret-utils.h"
+#include "nm-utils/nm-c-list.h"
#include "nm-netlink.h"
#include "nm-core-utils.h"
#include "nmp-object.h"
@@ -4237,8 +4238,7 @@ _log_dbg_sysctl_get_impl (NMPlatform *platform, const char *pathid, const char *
g_free (entry->value);
entry->value = g_strdup (contents);
}
- c_list_unlink_stale (&entry->lst);
- c_list_link_front (&priv->sysctl_list, &entry->lst);
+ nm_c_list_move_front (&priv->sysctl_list, &entry->lst);
} else {
gs_free char *contents_escaped = g_strescape (contents, NULL);
SysctlCacheEntry *old;