[asterisk-commits] branch bweschke/findme_followme r31809 -
/team/bweschke/findme_followme/apps/
asterisk-commits at lists.digium.com
asterisk-commits at lists.digium.com
Sat Jun 3 11:38:00 MST 2006
Author: bweschke
Date: Sat Jun 3 13:37:59 2006
New Revision: 31809
URL: http://svn.digium.com/view/asterisk?rev=31809&view=rev
Log:
Getting there...
Modified:
team/bweschke/findme_followme/apps/app_followme.c
Modified: team/bweschke/findme_followme/apps/app_followme.c
URL: http://svn.digium.com/view/asterisk/team/bweschke/findme_followme/apps/app_followme.c?rev=31809&r1=31808&r2=31809&view=diff
==============================================================================
--- team/bweschke/findme_followme/apps/app_followme.c (original)
+++ team/bweschke/findme_followme/apps/app_followme.c Sat Jun 3 13:37:59 2006
@@ -89,7 +89,7 @@
struct fm_args {
struct ast_channel *chan;
char *mohclass;
- AST_LIST_HEAD_NOLOCK(numbers, number) numbers;
+ AST_LIST_HEAD_NOLOCK(cnumbers, number) cnumbers;
int status;
char context[AST_MAX_CONTEXT];
char namerecloc[AST_MAX_CONTEXT];
@@ -117,33 +117,27 @@
static char takecall[20] = "1", nextindp[20] = "2", nextinfmfm[20] = "", blindxferexten[20] = "", atxferexten[20] = "";
static AST_LIST_HEAD_STATIC(followmes, ast_call_followme);
-static AST_LIST_HEAD_NOLOCK(findme_user_listptr, findme_user);
+AST_LIST_HEAD_NOLOCK(findme_user_listptr, findme_user);
static void free_numbers(struct ast_call_followme *f)
{
/* Free numbers attached to the profile */
- struct number *curn, *prev;
-
- curn = f->numbers;
- prev = NULL;
- while ((prev = AST_LIST_REMOVE_HEAD(curn, entry)))
+ struct number *prev;
+
+ while ((prev = AST_LIST_REMOVE_HEAD(&f->numbers, entry)))
/* Free the number */
free(prev);
- AST_LIST_HEAD_INIT_NOLOCK(curn);
-
- curn = f->blnumbers;
- prev = NULL;
- while ((prev = AST_LIST_REMOVE_HEAD(curn, entry)))
- /* Free the number */
+ AST_LIST_HEAD_INIT_NOLOCK(&f->numbers);
+
+ while ((prev = AST_LIST_REMOVE_HEAD(&f->blnumbers, entry)))
+ /* Free the blacklisted number */
free(prev);
- AST_LIST_HEAD_INIT_NOLOCK(curn);
-
- curn = f->wlnumbers;
- prev = NULL;
- while ((prev = AST_LIST_REMOVE_HEAD(curn, entry)))
- /* Free the number */
+ AST_LIST_HEAD_INIT_NOLOCK(&f->blnumbers);
+
+ while ((prev = AST_LIST_REMOVE_HEAD(&f->wlnumbers, entry)))
+ /* Free the whitelisted number */
free(prev);
- AST_LIST_HEAD_INIT_NOLOCK(curn);
+ AST_LIST_HEAD_INIT_NOLOCK(&f->wlnumbers);
}
@@ -216,7 +210,7 @@
struct ast_config *cfg;
char *cat, *tmp;
struct ast_variable *var;
- struct number *prev, *cur;
+ struct number *cur;
int new;
char numberstr[90];
int timeout;
@@ -653,7 +647,7 @@
caller = tpargs->chan;
- AST_LIST_TRAVERSE(&tpargs.numbers, nm, entry) {
+ AST_LIST_TRAVERSE(&tpargs.cnumbers, nm, entry) {
if (option_debug > 2)
ast_log(LOG_DEBUG, "Number %s timeout %ld\n",nm->number,nm->timeout);
time(&start_time);
@@ -806,10 +800,10 @@
ast_copy_string(targs.context, f->context, sizeof(targs.context));
/* Copy the numbers we're going to use into another list in case the master list should get modified
(and locked) while we're trying to do a follow-me */
- AST_LIST_HEAD_INIT_NOLOCK(&targs.numbers);
+ AST_LIST_HEAD_INIT_NOLOCK(&targs.cnumbers);
AST_LIST_TRAVERSE(&f->numbers, nm, entry) {
newnm = create_followme_number(nm->number, nm->timeout);
- AST_LIST_INSERT_TAIL(&targs.numbers, newnm, entry);
+ AST_LIST_INSERT_TAIL(&targs.cnumbers, newnm, entry);
}
ast_mutex_unlock(&f->lock);
@@ -834,8 +828,8 @@
findmeexec(&targs);
- AST_LIST_TRAVERSE_SAFE_BEGIN(&targs.numbers, nm, entry) {
- AST_LIST_REMOVE_CURRENT(&targs.numbers, entry);
+ AST_LIST_TRAVERSE_SAFE_BEGIN(&targs.cnumbers, nm, entry) {
+ AST_LIST_REMOVE_CURRENT(&targs.cnumbers, entry);
free(nm);
}
AST_LIST_TRAVERSE_SAFE_END
More information about the asterisk-commits
mailing list