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)
502 if (link->
next == link)
585 return (*list)->prev;
601 return (*list)->prev->data;
617 return (*list)->data;
770 (* function) (link->
data, data);
785 return (*list !=
NULL &&
786 (*list)->next == *list);
791 #ifdef DBUS_ENABLE_EMBEDDED_TESTS
792 #include "dbus-test.h"
806 if (link->
next == link)
821 while (link != *list);
832 is_ascending_sequence (
DBusList **list)
856 is_descending_sequence (
DBusList **list)
926 while (link1 && link2)
947 _dbus_list_test (
void)
972 verify_list (&list1);
973 verify_list (&list2);
986 verify_list (&list1);
987 verify_list (&list2);
1022 verify_list (&list1);
1023 verify_list (&list2);
1052 void *data1_indirect;
1063 data1_indirect = got_link1->
data;
1067 data2 = link2->
data;
1074 verify_list (&list1);
1075 verify_list (&list2);
1097 verify_list (&list1);
1098 verify_list (&list2);
1109 while (link2 !=
NULL)
1111 verify_list (&link2);
1121 while (link1 !=
NULL)
1123 verify_list (&link1);
1133 while (link1 !=
NULL)
1135 verify_list (&link1);
1168 verify_list (&list1);
1169 verify_list (&list2);
1202 verify_list (&list1);
1203 verify_list (&list2);
1212 while (list1 !=
NULL)
1215 verify_list (&list1);
1217 while (list2 !=
NULL)
1220 verify_list (&list2);
1236 while (link2 !=
NULL)
1245 verify_list (&list2);
1256 while (link1 !=
NULL)
1265 verify_list (&list1);
1290 verify_list (&list1);
1291 verify_list (©1);
1295 verify_list (&list2);
1296 verify_list (©2);
1310 verify_list (&list1);
1311 verify_list (©1);
1315 verify_list (&list2);
1316 verify_list (©2);
1325 verify_list (&list1);
1330 verify_list (&list1);
1336 verify_list (&list1);
1342 verify_list (&list1);
1357 verify_list (&list1);