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)
61 if (list_pool ==
NULL)
65 if (list_pool ==
NULL)
119 link->
next = before_this_link;
120 link->
prev = before_this_link->
prev;
121 before_this_link->
prev = link;
124 if (before_this_link == *list)
142 link->
prev = after_this_link;
144 after_this_link->
next = link;
149 #ifdef DBUS_ENABLE_STATS
156 _dbus_mem_pool_get_stats (list_pool, in_use_p, in_free_list_p, allocated_p);
233 return alloc_link (data);
266 *list = (*list)->
next;
286 link = alloc_link (data);
290 link_before (list, *list, link);
310 *list = (*list)->
next;
325 link_before (list, *list, link);
343 if (after_this_link ==
NULL)
347 link = alloc_link (data);
351 link_after (list, after_this_link, link);
369 if (before_this_link ==
NULL)
372 link_before (list, before_this_link, link);
387 if (after_this_link ==
NULL)
390 link_after (list, after_this_link, link);
412 if (link->
data == data)
470 if (link->
data == data)
491 if (link->
next == link)
574 return (*list)->prev;
590 return (*list)->prev->data;
606 return (*list)->data;
759 (* function) (link->
data, data);
774 return (*list !=
NULL &&
775 (*list)->next == *list);
780 #ifdef DBUS_BUILD_TESTS
781 #include "dbus-test.h"
795 if (link->
next == link)
810 while (link != *list);
821 is_ascending_sequence (
DBusList **list)
845 is_descending_sequence (
DBusList **list)
915 while (link1 && link2)
936 _dbus_list_test (
void)
961 verify_list (&list1);
962 verify_list (&list2);
975 verify_list (&list1);
976 verify_list (&list2);
1009 verify_list (&list1);
1010 verify_list (&list2);
1039 void *data1_indirect;
1050 data1_indirect = got_link1->
data;
1054 data2 = link2->
data;
1061 verify_list (&list1);
1062 verify_list (&list2);
1082 verify_list (&list1);
1083 verify_list (&list2);
1094 while (link2 !=
NULL)
1096 verify_list (&link2);
1106 while (link1 !=
NULL)
1108 verify_list (&link1);
1118 while (link1 !=
NULL)
1120 verify_list (&link1);
1151 verify_list (&list1);
1152 verify_list (&list2);
1183 verify_list (&list1);
1184 verify_list (&list2);
1193 while (list1 !=
NULL)
1196 verify_list (&list1);
1198 while (list2 !=
NULL)
1201 verify_list (&list2);
1215 while (link2 !=
NULL)
1224 verify_list (&list2);
1235 while (link1 !=
NULL)
1244 verify_list (&list1);
1267 verify_list (&list1);
1268 verify_list (©1);
1272 verify_list (&list2);
1273 verify_list (©2);
1287 verify_list (&list1);
1288 verify_list (©1);
1292 verify_list (&list2);
1293 verify_list (©2);
1302 verify_list (&list1);
1307 verify_list (&list1);
1313 verify_list (&list1);
1319 verify_list (&list1);
1331 verify_list (&list1);