diff options
Diffstat (limited to 'include/libHX/defs.h')
| -rw-r--r-- | include/libHX/defs.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/libHX/defs.h b/include/libHX/defs.h index 2ef5769..638ec15 100644 --- a/include/libHX/defs.h +++ b/include/libHX/defs.h @@ -18,10 +18,10 @@ template<typename Dst, typename Src> static inline auto containerof_cxx(Src *var using K = typename std::is_const<typename std::remove_pointer<Src>::type>; using Ch = typename std::conditional<K::value, const char, char>::type; using D2 = typename std::conditional<K::value, const Dst, Dst>::type; - return reinterpret_cast<D2 *>(reinterpret_cast<Ch *>(var) + ofs); + return reinterpret_cast<D2 *>(reinterpret_cast<Ch *>(var) - ofs); } } -# define containerof(var, D1, member) containerof_cxx<D1>(var, -offsetof(D1, member)) +# define containerof(var, D1, member) containerof_cxx<D1>(var, offsetof(D1, member)) # endif #else # define HXsizeof_member(type, member) sizeof(((type *)NULL)->member) |
