diff --git a/src/btstack_linked_list.c b/src/btstack_linked_list.c index e294ab781..e3cf65e08 100644 --- a/src/btstack_linked_list.c +++ b/src/btstack_linked_list.c @@ -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 diff --git a/src/btstack_linked_list.h b/src/btstack_linked_list.h index f9137475d..6d6712d58 100644 --- a/src/btstack_linked_list.h +++ b/src/btstack_linked_list.h @@ -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.