Changes in kernel/generic/src/adt/list.c [df13836:9d58539] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/adt/list.c
rdf13836 r9d58539 52 52 * 53 53 */ 54 boollist_member(const link_t *link, const list_t *list)54 int list_member(const link_t *link, const list_t *list) 55 55 { 56 56 bool found = false; … … 68 68 } 69 69 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. 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 * 77 79 */ 78 void list_ splice(list_t *list, link_t *pos)80 void list_concat(list_t *list1, list_t *list2) 79 81 { 80 if (list_empty(list ))82 if (list_empty(list2)) 81 83 return; 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); 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); 92 90 } 93 91 … … 99 97 * @return Number of items in the list. 100 98 */ 101 unsigned longlist_count(const list_t *list)99 unsigned int list_count(const list_t *list) 102 100 { 103 unsigned longcount = 0;101 unsigned int count = 0; 104 102 105 link_t *link = list_first(list); 106 while (link != NULL) { 103 list_foreach(*list, link) { 107 104 count++; 108 link = list_next(link, list);109 105 } 110 106
Note:
See TracChangeset
for help on using the changeset viewer.