Page MenuHomeClusterLabs Projects

No OneTemporary

diff --git a/lib/common/lists.c b/lib/common/lists.c
index f4fe270943..f9668eeee2 100644
--- a/lib/common/lists.c
+++ b/lib/common/lists.c
@@ -1,31 +1,27 @@
/*
- * Copyright 2004-2020 the Pacemaker project contributors
+ * Copyright 2004-2022 the Pacemaker project contributors
*
* The version control history for this file may have further details.
*
* This source code is licensed under the GNU Lesser General Public License
* version 2.1 or later (LGPLv2.1+) WITHOUT ANY WARRANTY.
*/
#include <crm_internal.h>
#include <crm/common/lists_internal.h>
GList*
pcmk__subtract_lists(GList *from, GList *items, GCompareFunc cmp)
{
- GList *item = NULL;
GList *result = g_list_copy(from);
- for (item = items; item != NULL; item = item->next) {
- GList *candidate = NULL;
+ for (GList *item = items; item != NULL; item = item->next) {
+ GList *match = g_list_find_custom(result, item->data, cmp);
- for (candidate = from; candidate != NULL; candidate = candidate->next) {
- if(cmp(candidate->data, item->data) == 0) {
- result = g_list_remove(result, candidate->data);
- break;
- }
+ if (match != NULL) {
+ result = g_list_remove(result, match->data);
}
}
return result;
}

File Metadata

Mime Type
text/x-diff
Expires
Tue, Jul 8, 6:43 PM (2 h, 50 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2002769
Default Alt Text
(1 KB)

Event Timeline