X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/061c44b0289f52a5a895bbb26d1aca49e1488edb..b1254eb62a3ca4eb2839cd0f340d754f45d549a2:/lib/sod.h?ds=sidebyside diff --git a/lib/sod.h b/lib/sod.h index af34d5d..074989d 100644 --- a/lib/sod.h +++ b/lib/sod.h @@ -7,7 +7,7 @@ /*----- Licensing notice --------------------------------------------------* * - * This file is part of the Sensble Object Design, an object system for C. + * This file is part of the Sensible Object Design, an object system for C. * * The SOD Runtime Library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public License as @@ -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@ --- * * @@ -142,7 +143,7 @@ struct sod_chain { * * Arguments: @p@ = pointer to an instance chain * - * Returns: A pointer to the instance's class, as a const SodClass. + * Returns: A pointer to the instance's class, as a @const SodClass *@. */ #define SOD_CLASSOF(obj) ((const SodClass *)(obj)->_vt->_class)