aboutsummaryrefslogtreecommitdiffstats
path: root/main/cdr.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 /main/cdr.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 'main/cdr.c')
-rw-r--r--main/cdr.c9
1 files changed, 4 insertions, 5 deletions
diff --git a/main/cdr.c b/main/cdr.c
index b4a185c03..166cfaeda 100644
--- a/main/cdr.c
+++ b/main/cdr.c
@@ -151,7 +151,7 @@ void ast_cdr_unregister(const char *name)
AST_RWLIST_WRLOCK(&be_list);
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&be_list, i, list) {
if (!strcasecmp(name, i->name)) {
- AST_RWLIST_REMOVE_CURRENT(&be_list, list);
+ AST_RWLIST_REMOVE_CURRENT(list);
ast_verb(2, "Unregistered '%s' CDR backend\n", name);
ast_free(i);
break;
@@ -313,7 +313,7 @@ int ast_cdr_setvar(struct ast_cdr *cdr, const char *name, const char *value, int
AST_LIST_TRAVERSE_SAFE_BEGIN(headp, newvariable, entries) {
if (!strcasecmp(ast_var_name(newvariable), name)) {
/* there is already such a variable, delete it */
- AST_LIST_REMOVE_CURRENT(headp, entries);
+ AST_LIST_REMOVE_CURRENT(entries);
ast_var_delete(newvariable);
break;
}
@@ -491,9 +491,8 @@ static void cdr_merge_vars(struct ast_cdr *to, struct ast_cdr *from)
} else if (tovarname && strcasecmp(fromvarval,tovarval) == 0) /* if they are the same, the job is done */
continue;
- /*rip this var out of the from cdr, and stick it in the to cdr */
- AST_LIST_REMOVE_CURRENT(headpfrom, entries);
- AST_LIST_INSERT_HEAD(headpto, variablesfrom, entries);
+ /* rip this var out of the from cdr, and stick it in the to cdr */
+ AST_LIST_MOVE_CURRENT(headpto, entries);
}
AST_LIST_TRAVERSE_SAFE_END;
}