From 6da3a6dc9e3e9ac3d7bb666410926ebc4a078505 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 18 Mar 2016 08:42:15 -0700 Subject: [PATCH] Port to strict C99 offsetof * src/bidi.c (bidi_copy_it): * src/lisp.h (CHAR_TABLE_EXTRA_SLOTS): Use only a single identifier as the second argument of offsetof. Found by using clang -pedantic. --- src/bidi.c | 2 +- src/lisp.h | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/bidi.c b/src/bidi.c index a68ffdb7e6..c23ff95435 100644 --- a/src/bidi.c +++ b/src/bidi.c @@ -532,7 +532,7 @@ bidi_copy_it (struct bidi_it *to, struct bidi_it *from) /* Copy everything from the start through the active part of the level stack. */ memcpy (to, from, - (offsetof (struct bidi_it, level_stack[1]) + (offsetof (struct bidi_it, level_stack) + sizeof from->level_stack[0] + from->stack_idx * sizeof from->level_stack[0])); } diff --git a/src/lisp.h b/src/lisp.h index 27588848c2..6a98adbda9 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -1766,7 +1766,8 @@ CHAR_TABLE_EXTRA_SLOTS (struct Lisp_Char_Table *ct) /* Make sure that sub char-table contents slot is where we think it is. */ verify (offsetof (struct Lisp_Sub_Char_Table, contents) - == offsetof (struct Lisp_Vector, contents[SUB_CHAR_TABLE_OFFSET])); + == (offsetof (struct Lisp_Vector, contents) + + SUB_CHAR_TABLE_OFFSET * sizeof (Lisp_Object))); /*********************************************************************** Symbols -- 2.39.2