linked_list: return if item was added for btstack_linked_list_add[_tail]

This commit is contained in:
Matthias Ringwald 2019-11-27 18:04:47 +01:00
parent 8b2bf72f1c
commit 78d0c67a11
2 changed files with 10 additions and 6 deletions

View File

@ -73,29 +73,31 @@ btstack_linked_item_t * btstack_linked_list_get_last_item(btstack_linked_list_t
/**
* btstack_linked_list_add
*/
void btstack_linked_list_add(btstack_linked_list_t * list, btstack_linked_item_t *item){ // <-- add item to list
bool btstack_linked_list_add(btstack_linked_list_t * list, btstack_linked_item_t *item){ // <-- add item to list
// check if already in list
btstack_linked_item_t *it;
for (it = *list; it ; it = it->next){
if (it == item) {
return;
return false;
}
}
// add first
item->next = *list;
*list = item;
return true;
}
void btstack_linked_list_add_tail(btstack_linked_list_t * list, btstack_linked_item_t *item){ // <-- add item to list as last element
bool btstack_linked_list_add_tail(btstack_linked_list_t * list, btstack_linked_item_t *item){ // <-- add item to list as last element
// check if already in list
btstack_linked_item_t *it;
for (it = (btstack_linked_item_t *) list; it->next ; it = it->next){
if (it->next == item) {
return;
return false;
}
}
item->next = (btstack_linked_item_t*) 0;
it->next = item;
return true;
}
int btstack_linked_list_remove(btstack_linked_list_t * list, btstack_linked_item_t *item){ // <-- remove item from list

View File

@ -74,15 +74,17 @@ bool btstack_linked_list_empty(btstack_linked_list_t * list);
* @brief Add item to list as first element.
* @param list
* @param item
* @returns true if item was added, false if item already in list
*/
void btstack_linked_list_add(btstack_linked_list_t * list, btstack_linked_item_t *item);
bool btstack_linked_list_add(btstack_linked_list_t * list, btstack_linked_item_t *item);
/**
* @brief Add item to list as last element.
* @param list
* @param item
* @returns true if item was added, false if item already in list
*/
void btstack_linked_list_add_tail(btstack_linked_list_t * list, btstack_linked_item_t *item);
bool btstack_linked_list_add_tail(btstack_linked_list_t * list, btstack_linked_item_t *item);
/**
* @brief Pop (get + remove) first element.