From 4925091fb1b45adb36d7438cf9d0c575e9f9f908 Mon Sep 17 00:00:00 2001 From: Daniel Mack Date: Sat, 16 Aug 2014 10:53:28 +0200 Subject: [PATCH] util: introduce KDBUS_ITEM_PAYLOAD_SIZE Add a simple macro to determine an item's payload size, and use it in message.c. --- message.c | 2 +- util.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/message.c b/message.c index f0d071d..9022efe 100644 --- a/message.c +++ b/message.c @@ -98,7 +98,7 @@ static int kdbus_msg_scan_items(struct kdbus_conn *conn, if (++items_count > KDBUS_MSG_MAX_ITEMS) return -E2BIG; - payload_size = item->size - KDBUS_ITEM_HEADER_SIZE; + payload_size = KDBUS_ITEM_PAYLOAD_SIZE(item); switch (item->type) { case KDBUS_ITEM_PAYLOAD_VEC: diff --git a/util.h b/util.h index a4ece89..130ff9a 100644 --- a/util.h +++ b/util.h @@ -26,6 +26,7 @@ /* generic access and iterators over a stream of items */ #define KDBUS_ITEM_HEADER_SIZE offsetof(struct kdbus_item, data) +#define KDBUS_ITEM_PAYLOAD_SIZE(_i) ((_i)->size - KDBUS_ITEM_HEADER_SIZE) #define KDBUS_ITEM_SIZE(_s) KDBUS_ALIGN8(KDBUS_ITEM_HEADER_SIZE + (_s)) #define KDBUS_ITEM_NEXT(_i) (typeof(_i))(((u8 *)_i) + KDBUS_ALIGN8((_i)->size)) #define KDBUS_ITEMS_SIZE(_h, _is) ((_h)->size - offsetof(typeof(*_h), _is)) -- 2.34.1