diff options
author | Richard Mudgett <rmudgett@digium.com> | 2013-07-19 23:30:10 +0000 |
---|---|---|
committer | Richard Mudgett <rmudgett@digium.com> | 2013-07-19 23:30:10 +0000 |
commit | 643fb1ed1400a5c32177a40dbfcba943d6f989d7 (patch) | |
tree | 7d5bf745f1ff9357f999f1786ce60166ad04e79d /main/audiohook.c | |
parent | 2838683742cd21a452298801e41e85cd890add06 (diff) |
Minor optimizations.
* Made ast_audiohook_detach_list() and ast_audiohook_write_list_empty()
NULL tolerant.
* Made ast_audiohook_detach_list() return void since it is a destructor.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@394836 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'main/audiohook.c')
-rw-r--r-- | main/audiohook.c | 27 |
1 files changed, 11 insertions, 16 deletions
diff --git a/main/audiohook.c b/main/audiohook.c index d46936223..6e02946aa 100644 --- a/main/audiohook.c +++ b/main/audiohook.c @@ -512,14 +512,14 @@ int ast_audiohook_detach(struct ast_audiohook *audiohook) return 0; } -/*! \brief Detach audiohooks from list and destroy said list - * \param audiohook_list List of audiohooks - * \return Returns 0 on success, -1 on failure - */ -int ast_audiohook_detach_list(struct ast_audiohook_list *audiohook_list) +void ast_audiohook_detach_list(struct ast_audiohook_list *audiohook_list) { - int i = 0; - struct ast_audiohook *audiohook = NULL; + int i; + struct ast_audiohook *audiohook; + + if (!audiohook_list) { + return; + } /* Drop any spies */ while ((audiohook = AST_LIST_REMOVE_HEAD(&audiohook_list->spy_list, list))) { @@ -547,8 +547,6 @@ int ast_audiohook_detach_list(struct ast_audiohook_list *audiohook_list) /* Free ourselves */ ast_free(audiohook_list); - - return 0; } /*! \brief find an audiohook based on its source @@ -899,13 +897,10 @@ static struct ast_frame *audio_audiohook_write_list(struct ast_channel *chan, st int ast_audiohook_write_list_empty(struct ast_audiohook_list *audiohook_list) { - if (AST_LIST_EMPTY(&audiohook_list->spy_list) && - AST_LIST_EMPTY(&audiohook_list->whisper_list) && - AST_LIST_EMPTY(&audiohook_list->manipulate_list)) { - - return 1; - } - return 0; + return !audiohook_list + || (AST_LIST_EMPTY(&audiohook_list->spy_list) + && AST_LIST_EMPTY(&audiohook_list->whisper_list) + && AST_LIST_EMPTY(&audiohook_list->manipulate_list)); } /*! \brief Pass a frame off to be handled by the audiohook core |