This source file includes following definitions.
- pcmk__subtract_lists
1
2
3
4
5
6
7
8
9
10 #include <crm_internal.h>
11 #include <crm/common/lists_internal.h>
12
13 GList*
14 pcmk__subtract_lists(GList *from, GList *items, GCompareFunc cmp)
15 {
16 GList *item = NULL;
17 GList *result = g_list_copy(from);
18
19 for (item = items; item != NULL; item = item->next) {
20 GList *candidate = NULL;
21
22 for (candidate = from; candidate != NULL; candidate = candidate->next) {
23 if(cmp(candidate->data, item->data) == 0) {
24 result = g_list_remove(result, candidate->data);
25 break;
26 }
27 }
28 }
29
30 return result;
31 }