From 664b395170172c9541bb1ea1b87780a8d200fc19 Mon Sep 17 00:00:00 2001 Message-Id: <664b395170172c9541bb1ea1b87780a8d200fc19.1716499710.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 30 Aug 2015 10:58:38 +0100 Subject: [PATCH] lib/sod.h: Arrange that `SOD_XCHAIN' returns `void *'. Organization: Straylight/Edgeware From: Mark Wooding --- lib/sod.h | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/sod.h b/lib/sod.h index af34d5d..efac06b 100644 --- a/lib/sod.h +++ b/lib/sod.h @@ -76,14 +76,15 @@ struct sod_chain { * Arguments: @chead@ = nickname of target chain's head * @obj@ = pointer to an instance chain * - * Returns: Pointer to target chain, as a @char *@. + * Returns: Pointer to target chain, as a @void *@. * * Use: Utility for implementing cross-chain upcasts. It's probably * not that clever to use this macro directly; it's used to make * the automatically-generated upcast macros more palatable. */ -#define SOD_XCHAIN(chead, obj) ((char *)(obj) + (obj)->_vt->_off_##chead) +#define SOD_XCHAIN(chead, obj) \ + ((void *)((char *)(obj) + (obj)->_vt->_off_##chead)) /* --- @SOD_OFFSETDIFF@ --- * * -- [mdw]