- Simplify removing an item from a list

- move a verbose message to after the item is added to the list
- make use of the ARRAY_LEN macro in one spot


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
1.6.0
Russell Bryant 18 years ago
parent fd1f6df25f
commit b30b1bc46f

@ -51,27 +51,20 @@ static AST_RWLIST_HEAD_STATIC(imagers, ast_imager);
int ast_image_register(struct ast_imager *img) int ast_image_register(struct ast_imager *img)
{ {
ast_verb(2, "Registered format '%s' (%s)\n", img->name, img->desc);
AST_RWLIST_WRLOCK(&imagers); AST_RWLIST_WRLOCK(&imagers);
AST_RWLIST_INSERT_HEAD(&imagers, img, list); AST_RWLIST_INSERT_HEAD(&imagers, img, list);
AST_RWLIST_UNLOCK(&imagers); AST_RWLIST_UNLOCK(&imagers);
ast_verb(2, "Registered format '%s' (%s)\n", img->name, img->desc);
return 0; return 0;
} }
void ast_image_unregister(struct ast_imager *img) void ast_image_unregister(struct ast_imager *img)
{ {
struct ast_imager *i;
AST_RWLIST_WRLOCK(&imagers); AST_RWLIST_WRLOCK(&imagers);
AST_RWLIST_TRAVERSE_SAFE_BEGIN(&imagers, i, list) { img = AST_RWLIST_REMOVE(&imagers, img, list);
if (i == img) {
AST_RWLIST_REMOVE_CURRENT(list);
break;
}
}
AST_RWLIST_TRAVERSE_SAFE_END;
AST_RWLIST_UNLOCK(&imagers); AST_RWLIST_UNLOCK(&imagers);
if (i)
if (img)
ast_verb(2, "Unregistered format '%s' (%s)\n", img->name, img->desc); ast_verb(2, "Unregistered format '%s' (%s)\n", img->name, img->desc);
} }
@ -216,6 +209,6 @@ struct ast_cli_entry cli_image[] = {
int ast_image_init(void) int ast_image_init(void)
{ {
ast_cli_register_multiple(cli_image, sizeof(cli_image) / sizeof(struct ast_cli_entry)); ast_cli_register_multiple(cli_image, ARRAY_LEN(cli_image));
return 0; return 0;
} }

Loading…
Cancel
Save