Changes in kernel/generic/src/adt/list.c [9d58539:df13836] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified kernel/generic/src/adt/list.c ¶
r9d58539 rdf13836 52 52 * 53 53 */ 54 intlist_member(const link_t *link, const list_t *list)54 bool list_member(const link_t *link, const list_t *list) 55 55 { 56 56 bool found = false; … … 68 68 } 69 69 70 /** Concatenate two lists 71 * 72 * Concatenate lists @a list1 and @a list2, producing a single 73 * list @a list1 containing items from both (in @a list1, @a list2 74 * order) and empty list @a list2. 75 * 76 * @param list1 First list and concatenated output 77 * @param list2 Second list and empty output. 78 * 70 /** Moves items of one list into another after the specified item. 71 * 72 * Inserts all items of @a list after item at @a pos in another list. 73 * Both lists may be empty. 74 * 75 * @param list Source list to move after pos. Empty afterwards. 76 * @param pos Source items will be placed after this item. 79 77 */ 80 void list_ concat(list_t *list1, list_t *list2)78 void list_splice(list_t *list, link_t *pos) 81 79 { 82 if (list_empty(list 2))80 if (list_empty(list)) 83 81 return; 84 85 list2->head.next->prev = list1->head.prev; 86 list2->head.prev->next = &list1->head; 87 list1->head.prev->next = list2->head.next; 88 list1->head.prev = list2->head.prev; 89 list_initialize(list2); 82 83 /* Attach list to destination. */ 84 list->head.next->prev = pos; 85 list->head.prev->next = pos->next; 86 87 /* Link destination list to the added list. */ 88 pos->next->prev = list->head.prev; 89 pos->next = list->head.next; 90 91 list_initialize(list); 90 92 } 91 93 … … 97 99 * @return Number of items in the list. 98 100 */ 99 unsigned intlist_count(const list_t *list)101 unsigned long list_count(const list_t *list) 100 102 { 101 unsigned intcount = 0;103 unsigned long count = 0; 102 104 103 list_foreach(*list, link) { 105 link_t *link = list_first(list); 106 while (link != NULL) { 104 107 count++; 108 link = list_next(link, list); 105 109 } 106 110
Note:
See TracChangeset
for help on using the changeset viewer.