Speed up ast_list macros (bug #3135)

git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4546 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
Mark Spencer
2004-12-23 15:11:46 +00:00
parent b9c3f3567a
commit cecda3fb67
6 changed files with 13 additions and 15 deletions

View File

@@ -48,9 +48,10 @@ AST_LIST_REMOVE removes an arbitrary element from the head:
AST_LIST_REMOVE(headp,node1,ast_var_t,listpointers);
AST_LIST_REMOVE_HEAD removes the entry at the head of the list:
AST_LIST_REMOVE_HEAD removes the entry at the head of the list and
returns a pointer to the removed entry:
AST_LIST_REMOVE(headp,listpointers);
AST_LIST_REMOVE_HEAD(headp,node,listpointers);
AST_LIST_FIRST returns a pointer to the first element of the list;
@@ -78,8 +79,7 @@ To completely delete a list :
struct ast_var_t *vardata;
while (!AST_LIST_EMPTY(headp)) { /* List Deletion. */
vardata = AST_LIST_FIRST(head);
AST_LIST_REMOVE_HEAD(head, listpointers);
vardata = AST_LIST_REMOVE_HEAD(head, ast_var_t, listpointers);
free(vardata->name);
free(vardata->value);
}