aboutsummaryrefslogtreecommitdiffstats
path: root/apps/app_followme.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-08 05:28:47 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2007-11-08 05:28:47 +0000
commita45a413db3bdce126d5cb28ed49b776fdebb4b1d (patch)
tree444ea944312fd31b5524ee43f8cfc97e2884c6de /apps/app_followme.c
parentbeabbf77e66fbdd59fdcb5e12dade8039fd0b683 (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.c10
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);