diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2019-11-01 01:57:16 +0100 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2020-01-17 09:49:00 +0000 |
commit | ca83c2212225ea3c374d6980af08905fac23c35b (patch) | |
tree | a6f07bd87459c4b60668bc1309456fb0cc190c34 /macros.h | |
parent | 886c7b5e26747fc3690efc3ec410c8ba6105e5f6 (diff) | |
download | strace-ca83c2212225ea3c374d6980af08905fac23c35b.tar.gz |
macros.h: introduce sizeof_field macro
Handy for field size checks.
* macros.h (sizeof_field): New macro.
(offsetofend): Use it.
Diffstat (limited to 'macros.h')
-rw-r--r-- | macros.h | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -37,9 +37,11 @@ # define ROUNDUP(val_, div_) (ROUNDUP_DIV((val_), (div_)) * (div_)) # endif +# define sizeof_field(type_, member_) (sizeof(((type_ *)0)->member_)) + # ifndef offsetofend # define offsetofend(type_, member_) \ - (offsetof(type_, member_) + sizeof(((type_ *)0)->member_)) + (offsetof(type_, member_) + sizeof_field(type_, member_)) # endif # ifndef cast_ptr |