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: https://origsvn.digium.com/svn/asterisk/trunk@89106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Kevin P. Fleming
2007-11-08 05:28:47 +00:00
parent 950528b638
commit edc78d6023
41 changed files with 166 additions and 183 deletions

View File

@@ -654,7 +654,7 @@ int __ast_register_translator(struct ast_translator *t, struct ast_module *mod)
if ((u->srcfmt == t->srcfmt) &&
(u->dstfmt == t->dstfmt) &&
(u->cost > t->cost)) {
AST_RWLIST_INSERT_BEFORE_CURRENT(&translators, t, list);
AST_RWLIST_INSERT_BEFORE_CURRENT(t, list);
t = NULL;
}
}
@@ -682,7 +682,7 @@ int ast_unregister_translator(struct ast_translator *t)
AST_RWLIST_WRLOCK(&translators);
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&translators, u, list) {
if (u == t) {
AST_RWLIST_REMOVE_CURRENT(&translators, list);
AST_RWLIST_REMOVE_CURRENT(list);
ast_verb(2, "Unregistered translator '%s' from format %s to %s\n", term_color(tmp, t->name, COLOR_MAGENTA, COLOR_BLACK, sizeof(tmp)), ast_getformatname(1 << t->srcfmt), ast_getformatname(1 << t->dstfmt));
found = 1;
break;