all: use nm_c_list_move_*() helpers

This commit is contained in:
Thomas Haller 2019-02-12 11:05:43 +01:00
parent a85318f8de
commit 9ae71bf555
2 changed files with 15 additions and 44 deletions

View file

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

View file

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