[list] Add list_check_contains()
Signed-off-by: Michael Brown <mcb30@ipxe.org>
This commit is contained in:
parent
9e3604168a
commit
df58a19015
@ -212,4 +212,23 @@ static inline int list_empty ( const struct list_head *list ) {
|
||||
pos = tmp, \
|
||||
tmp = list_entry ( tmp->member.next, typeof ( *tmp ), member ) )
|
||||
|
||||
/**
|
||||
* Check list contains a specified entry
|
||||
*
|
||||
* @v entry Entry
|
||||
* @v head List head
|
||||
* @v member Name of list field within iterator's type
|
||||
*/
|
||||
#define list_check_contains( entry, head, member ) do { \
|
||||
if ( ASSERTING ) { \
|
||||
typeof ( entry ) tmp; \
|
||||
int found = 0; \
|
||||
list_for_each_entry ( tmp, head, member ) { \
|
||||
if ( tmp == entry ) \
|
||||
found = 1; \
|
||||
} \
|
||||
assert ( found ); \
|
||||
} \
|
||||
} while ( 0 )
|
||||
|
||||
#endif /* _IPXE_LIST_H */
|
||||
|
Reference in New Issue
Block a user