diff options
Diffstat (limited to 'Source/charon/utils')
-rw-r--r-- | Source/charon/utils/linked_list.c | 6 | ||||
-rw-r--r-- | Source/charon/utils/linked_list.h | 8 | ||||
-rw-r--r-- | Source/charon/utils/logger_manager.c | 8 |
3 files changed, 10 insertions, 12 deletions
diff --git a/Source/charon/utils/linked_list.c b/Source/charon/utils/linked_list.c index ca5dc60af..35599b33f 100644 --- a/Source/charon/utils/linked_list.c +++ b/Source/charon/utils/linked_list.c @@ -482,7 +482,7 @@ static status_t get_last(private_linked_list_t *this, void **item) /** * Implementation of linked_list_t.create_iterator. */ -static void create_iterator (private_linked_list_t *linked_list, iterator_t **iterator,bool forward) +static iterator_t *create_iterator (private_linked_list_t *linked_list,bool forward) { private_iterator_t *this = allocator_alloc_thing(private_iterator_t); @@ -498,7 +498,7 @@ static void create_iterator (private_linked_list_t *linked_list, iterator_t **it this->current = NULL; this->list = linked_list; - *iterator = &(this->public); + return &(this->public); } /** @@ -525,7 +525,7 @@ linked_list_t *linked_list_create() private_linked_list_t *this = allocator_alloc_thing(private_linked_list_t); this->public.get_count = (int (*) (linked_list_t *linked_list)) get_count; - this->public.create_iterator = (void (*) (linked_list_t *linked_list, iterator_t **iterator,bool forward)) create_iterator; + this->public.create_iterator = (iterator_t * (*) (linked_list_t *linked_list,bool forward)) create_iterator; this->public.get_first = (status_t (*) (linked_list_t *linked_list, void **item)) get_first; this->public.get_last = (status_t (*) (linked_list_t *linked_list, void **item)) get_last; this->public.insert_first = (void (*) (linked_list_t *linked_list, void *item)) insert_first; diff --git a/Source/charon/utils/linked_list.h b/Source/charon/utils/linked_list.h index e1b08511a..ee07ce487 100644 --- a/Source/charon/utils/linked_list.h +++ b/Source/charon/utils/linked_list.h @@ -51,13 +51,13 @@ struct linked_list_t { /** * @brief Creates a iterator for the given list. * - * @warning Created iterator has to get destroyed by the caller. + * @warning Created iterator_t object has to get destroyed by the caller. * * @param linked_list calling object - * @param[out] iterator place where the iterator is written * @param[in] forward iterator direction (TRUE: front to end) + * @return new iterator_t object */ - void (*create_iterator) (linked_list_t *linked_list, iterator_t **iterator, bool forward); + iterator_t * (*create_iterator) (linked_list_t *linked_list, bool forward); /** * @brief Inserts a new item at the beginning of the list. @@ -128,8 +128,6 @@ struct linked_list_t { * memory leaks! * * @param linked_list calling object - * @return - * - SUCCESS */ void (*destroy) (linked_list_t *linked_list); }; diff --git a/Source/charon/utils/logger_manager.c b/Source/charon/utils/logger_manager.c index 5c3a69547..d030d5cbe 100644 --- a/Source/charon/utils/logger_manager.c +++ b/Source/charon/utils/logger_manager.c @@ -205,7 +205,7 @@ static logger_level_t get_logger_level (private_logger_manager_t *this, logger_c pthread_mutex_lock(&(this->mutex)); - this->logger_levels->create_iterator(this->logger_levels, &iterator,TRUE); + iterator = this->logger_levels->create_iterator(this->logger_levels,TRUE); /* check for existing logger_level entry */ while (iterator->has_next(iterator)) { @@ -232,7 +232,7 @@ static void destroy_logger(private_logger_manager_t *this,logger_t *logger) pthread_mutex_lock(&(this->mutex)); - this->loggers->create_iterator(this->loggers,&iterator,TRUE); + iterator = this->loggers->create_iterator(this->loggers,TRUE); while (iterator->has_next(iterator)) { loggers_entry_t * entry; @@ -258,7 +258,7 @@ static void set_logger_level(private_logger_manager_t *this, logger_context_t co bool found = FALSE; pthread_mutex_lock(&(this->mutex)); - this->logger_levels->create_iterator(this->logger_levels,&iterator,TRUE); + iterator = this->logger_levels->create_iterator(this->logger_levels,TRUE); /* find existing logger_level entry */ while (iterator->has_next(iterator)) @@ -292,7 +292,7 @@ static void set_logger_level(private_logger_manager_t *this, logger_context_t co this->logger_levels->insert_last(this->logger_levels,entry); } - this->loggers->create_iterator(this->loggers,&iterator,TRUE); + iterator = this->loggers->create_iterator(this->loggers,TRUE); while (iterator->has_next(iterator)) { loggers_entry_t * entry; |