diff options
author | Furquan Shaikh <furquan@google.com> | 2015-11-06 22:20:15 -0800 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-11-13 00:52:58 +0100 |
commit | 1dcb10eeb6912824ddf257dab8121a2a87260a3d (patch) | |
tree | a646c78c3f7eca5f1a2f84ce4b0d55727ae0f63d /payloads/libpayload/include | |
parent | 685ab2a2f2335a2366e2338f0425422dd3409403 (diff) |
libpayload: queue: Add a helper macro for checking singleton queue
Check if the simple queue consists of only 1 element.
BUG=b:24676003
BRANCH=None
TEST=Compiles successfully.
Change-Id: Ib257a5e6b9042b42c549f8ad8b943e3b75fd8c9c
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 5435d6fec1c4fbb4c04ba5b8c15caff9ee4e50f0
Original-Change-Id: I7a8cb9c4e7e71956e85e65b3e7b8e0af4d354110
Original-Signed-off-by: Furquan Shaikh <furquan@google.com>
Original-Reviewed-on: https://chromium-review.googlesource.com/311256
Original-Commit-Ready: Furquan Shaikh <furquan@chromium.org>
Original-Tested-by: Furquan Shaikh <furquan@chromium.org>
Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-on: http://review.coreboot.org/12412
Reviewed-by: Furquan Shaikh <furquan@google.com>
Tested-by: build bot (Jenkins)
Diffstat (limited to 'payloads/libpayload/include')
-rw-r--r-- | payloads/libpayload/include/queue.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/payloads/libpayload/include/queue.h b/payloads/libpayload/include/queue.h index f8f09bf12e..2b64669435 100644 --- a/payloads/libpayload/include/queue.h +++ b/payloads/libpayload/include/queue.h @@ -268,6 +268,9 @@ struct { \ #define SIMPLEQ_END(head) NULL #define SIMPLEQ_EMPTY(head) (SIMPLEQ_FIRST(head) == SIMPLEQ_END(head)) #define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next) +#define SIMPLEQ_TAIL_NEXT(head) ((head)->sqh_last) +#define SIMPLEQ_SINGLETON(head, field) \ + (&SIMPLEQ_NEXT(SIMPLEQ_FIRST(head), field) == SIMPLEQ_TAIL_NEXT(head)) #define SIMPLEQ_FOREACH(var, head, field) \ for((var) = SIMPLEQ_FIRST(head); \ |