diff options
author | Masami Hiramatsu <mhiramat@redhat.com> | 2008-04-28 05:14:27 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 11:58:32 -0400 |
commit | 99602572812442d47403d85f376ad51298dd82a6 (patch) | |
tree | 204948267936e9a3f1c430d970c9a68f1583b55d | |
parent | 3d8d996e0ca5b4093203d3f050b0f70b5c949ae8 (diff) |
list.h: add list_is_singular()
Add list_is_singular() to check a list has just one entry.
list_is_singular() is useful to check whether a list_head which have been
temporarily allocated for listing objects can be released or not.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | include/linux/list.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/list.h b/include/linux/list.h index dac16f99c701..b4a939b6b625 100644 --- a/include/linux/list.h +++ b/include/linux/list.h | |||
@@ -319,6 +319,15 @@ static inline int list_empty_careful(const struct list_head *head) | |||
319 | return (next == head) && (next == head->prev); | 319 | return (next == head) && (next == head->prev); |
320 | } | 320 | } |
321 | 321 | ||
322 | /** | ||
323 | * list_is_singular - tests whether a list has just one entry. | ||
324 | * @head: the list to test. | ||
325 | */ | ||
326 | static inline int list_is_singular(const struct list_head *head) | ||
327 | { | ||
328 | return !list_empty(head) && (head->next == head->prev); | ||
329 | } | ||
330 | |||
322 | static inline void __list_splice(struct list_head *list, | 331 | static inline void __list_splice(struct list_head *list, |
323 | struct list_head *head) | 332 | struct list_head *head) |
324 | { | 333 | { |