]> mj.ucw.cz Git - libucw.git/commitdiff
ucwlib: -- use offsetof() from C99
authorPavel Charvat <pchar@ucw.cz>
Wed, 10 Sep 2008 09:27:32 +0000 (11:27 +0200)
committerMartin Mares <mj@ucw.cz>
Tue, 29 Mar 2011 10:52:22 +0000 (12:52 +0200)
ucw/lib.h

index 28145ac96dedd1d37f46e56603e88ee182b11a2a..6ceee16843a519e56ff2d87133688e601cf87492 100644 (file)
--- a/ucw/lib.h
+++ b/ucw/lib.h
@@ -20,7 +20,7 @@
 
 #define CHECK_PTR_TYPE(x, type) ((x)-(type)(x) + (type)(x))            /** Check that a pointer @x is of type @type. Fail compilation if not. **/
 #define PTR_TO(s, i) &((s*)0)->i                                       /** Return OFFSETOF() in form of a pointer. **/
-#define OFFSETOF(s, i) ((unsigned int) (uintptr_t) PTR_TO(s, i))       /** Offset of item @i from the start of structure @s **/
+#define OFFSETOF(s, i) offsetof(s, i)                                  /** Offset of item @i from the start of structure @s **/
 #define SKIP_BACK(s, i, p) ((s *)((char *)p - OFFSETOF(s, i)))         /** Given a pointer @p to item @i of structure @s, return a pointer to the start of the struct. **/
 
 /** Align an integer @s to the nearest higher multiple of @a (which should be a power of two) **/