25 #include "dbus-internals.h"
26 #include "dbus-list.h"
27 #include "dbus-mempool.h"
28 #include "dbus-threads-internal.h"
55 alloc_link (
void *data)
62 if (list_pool ==
NULL)
66 if (list_pool ==
NULL)
99 "before we allocated a linked-list link");
123 link->
next = before_this_link;
124 link->
prev = before_this_link->
prev;
125 before_this_link->
prev = link;
128 if (before_this_link == *list)
146 link->
prev = after_this_link;
148 after_this_link->
next = link;
153 #ifdef DBUS_ENABLE_STATS
167 _dbus_mem_pool_get_stats (list_pool, in_use_p, in_free_list_p, allocated_p);
244 return alloc_link (data);
277 *list = (*list)->
next;
297 link = alloc_link (data);
301 link_before (list, *list, link);
321 *list = (*list)->
next;
336 link_before (list, *list, link);
354 if (after_this_link ==
NULL)
358 link = alloc_link (data);
362 link_after (list, after_this_link, link);
380 if (before_this_link ==
NULL)
383 link_before (list, before_this_link, link);
398 if (after_this_link ==
NULL)
401 link_after (list, after_this_link, link);
423 if (link->
data == data)
481 if (link->
data == data)
510 if (link->
data == data)
531 if (link->
next == link)
614 return (*list)->prev;
630 return (*list)->prev->data;
646 return (*list)->data;
799 (* function) (link->
data, data);
814 return (*list !=
NULL &&
815 (*list)->next == *list);
820 #ifdef DBUS_ENABLE_EMBEDDED_TESTS
821 #include "dbus-test.h"
835 if (link->
next == link)
850 while (link != *list);
861 is_ascending_sequence (
DBusList **list)
885 is_descending_sequence (
DBusList **list)
955 while (link1 && link2)
976 _dbus_list_test (
void)
1001 verify_list (&list1);
1002 verify_list (&list2);
1015 verify_list (&list1);
1016 verify_list (&list2);
1049 verify_list (&list1);
1050 verify_list (&list2);
1079 void *data1_indirect;
1090 data1_indirect = got_link1->
data;
1094 data2 = link2->
data;
1101 verify_list (&list1);
1102 verify_list (&list2);
1122 verify_list (&list1);
1123 verify_list (&list2);
1134 while (link2 !=
NULL)
1136 verify_list (&link2);
1146 while (link1 !=
NULL)
1148 verify_list (&link1);
1158 while (link1 !=
NULL)
1160 verify_list (&link1);
1191 verify_list (&list1);
1192 verify_list (&list2);
1223 verify_list (&list1);
1224 verify_list (&list2);
1233 while (list1 !=
NULL)
1236 verify_list (&list1);
1238 while (list2 !=
NULL)
1241 verify_list (&list2);
1255 while (link2 !=
NULL)
1264 verify_list (&list2);
1275 while (link1 !=
NULL)
1284 verify_list (&list1);
1307 verify_list (&list1);
1308 verify_list (©1);
1312 verify_list (&list2);
1313 verify_list (©2);
1327 verify_list (&list1);
1328 verify_list (©1);
1332 verify_list (&list2);
1333 verify_list (©2);
1342 verify_list (&list1);
1347 verify_list (&list1);
1353 verify_list (&list1);
1359 verify_list (&list1);
1371 verify_list (&list1);