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 /main/cdr.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 'main/cdr.c')
-rw-r--r-- | main/cdr.c | 9 |
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; } |