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

@@ -480,12 +480,12 @@ int ast_register_indication_country(struct ind_tone_zone *zone)
if (tz == current_tonezone)
current_tonezone = zone;
/* Remove from the linked list */
AST_RWLIST_REMOVE_CURRENT(&tone_zones, list);
AST_RWLIST_REMOVE_CURRENT(list);
/* Finally free the zone itself */
free_zone(tz);
break;
}
AST_RWLIST_TRAVERSE_SAFE_END
AST_RWLIST_TRAVERSE_SAFE_END;
/* Add zone to the list */
AST_RWLIST_INSERT_TAIL(&tone_zones, zone, list);
@@ -515,12 +515,12 @@ int ast_unregister_indication_country(const char *country)
current_tonezone = NULL;
}
/* Remove from the list */
AST_RWLIST_REMOVE_CURRENT(&tone_zones, list);
AST_RWLIST_REMOVE_CURRENT(list);
ast_verb(3, "Unregistered indication country '%s'\n", tz->country);
free_zone(tz);
res = 0;
}
AST_RWLIST_TRAVERSE_SAFE_END
AST_RWLIST_TRAVERSE_SAFE_END;
AST_RWLIST_UNLOCK(&tone_zones);
return res;