make AST_LIST_REMOVE_HEAD safer to use
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6394 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
parent
a07997b961
commit
7950e4216e
1 changed files with 5 additions and 4 deletions
|
@ -305,14 +305,15 @@ struct { \
|
|||
\param field This is the name of the field (declared using AST_LIST_ENTRY())
|
||||
used to link entries of this list together.
|
||||
|
||||
Removes the head entry from the list, and returns a pointer to it. The
|
||||
forward-link pointer in the returned entry is \b not cleared. This macro
|
||||
is safe to call on an empty list.
|
||||
Removes the head entry from the list, and returns a pointer to it.
|
||||
This macro is safe to call on an empty list.
|
||||
*/
|
||||
#define AST_LIST_REMOVE_HEAD(head, field) ({ \
|
||||
typeof((head)->first) cur = (head)->first; \
|
||||
if (cur) \
|
||||
if (cur) { \
|
||||
(head)->first = cur->field.next; \
|
||||
cur->field.next = NULL; \
|
||||
} \
|
||||
cur; \
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in a new issue