diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-08 05:28:47 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2007-11-08 05:28:47 +0000 |
commit | a45a413db3bdce126d5cb28ed49b776fdebb4b1d (patch) | |
tree | 444ea944312fd31b5524ee43f8cfc97e2884c6de /apps/app_followme.c | |
parent | beabbf77e66fbdd59fdcb5e12dade8039fd0b683 (diff) |
improve linked-list macros in two ways:
- the *_CURRENT macros no longer need the list head pointer argument
- add AST_LIST_MOVE_CURRENT to encapsulate the remove/add operation when moving entries between lists
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89106 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'apps/app_followme.c')
-rw-r--r-- | apps/app_followme.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/apps/app_followme.c b/apps/app_followme.c index 0624157df..c5a5723ac 100644 --- a/apps/app_followme.c +++ b/apps/app_followme.c @@ -840,13 +840,12 @@ static void findmeexec(struct fm_args *tpargs) winner = wait_for_winner(findme_user_list, nm, caller, tpargs->namerecloc, &status, tpargs); - AST_LIST_TRAVERSE_SAFE_BEGIN(findme_user_list, fmuser, entry) { + while ((fmuser = AST_LIST_REMOVE_HEAD(findme_user_list, entry))) { if (!fmuser->cleared && fmuser->ochan != winner) clear_caller(fmuser); - AST_LIST_REMOVE_CURRENT(findme_user_list, entry); ast_free(fmuser); } - AST_LIST_TRAVERSE_SAFE_END + fmuser = NULL; tmpuser = NULL; headuser = NULL; @@ -978,11 +977,8 @@ static int app_exec(struct ast_channel *chan, void *data) findmeexec(&targs); - AST_LIST_TRAVERSE_SAFE_BEGIN(&targs.cnumbers, nm, entry) { - AST_LIST_REMOVE_CURRENT(&targs.cnumbers, entry); + while ((nm = AST_LIST_REMOVE_HEAD(&targs.cnumbers, entry))) ast_free(nm); - } - AST_LIST_TRAVERSE_SAFE_END if (!ast_strlen_zero(namerecloc)) unlink(namerecloc); |