Added a replace function to linked_list_t.
This commit is contained in:
@@ -476,6 +476,19 @@ METHOD(linked_list_t, insert_after, void,
|
||||
insert_item_after(this, enumerator->current, item);
|
||||
}
|
||||
|
||||
METHOD(linked_list_t, replace, void*,
|
||||
private_linked_list_t *this, private_enumerator_t *enumerator,
|
||||
void *item)
|
||||
{
|
||||
void *old = NULL;
|
||||
if (enumerator->current)
|
||||
{
|
||||
old = enumerator->current->value;
|
||||
enumerator->current->value = item;
|
||||
}
|
||||
return old;
|
||||
}
|
||||
|
||||
METHOD(linked_list_t, get_last, status_t,
|
||||
private_linked_list_t *this, void **item)
|
||||
{
|
||||
@@ -722,6 +735,7 @@ linked_list_t *linked_list_create()
|
||||
.insert_last = _insert_last,
|
||||
.insert_after = (void*)_insert_after,
|
||||
.insert_before = (void*)_insert_before,
|
||||
.replace = (void*)_replace,
|
||||
.remove_first = _remove_first,
|
||||
.remove_last = _remove_last,
|
||||
.remove = _remove_,
|
||||
|
||||
Reference in New Issue
Block a user