From 437b2cb453cedf1a9033b2082879f1964c67ed23 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Wed, 22 Jun 2011 22:35:51 -0700 Subject: [PATCH] * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. --- src/ChangeLog | 2 ++ src/lisp.h | 5 +---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/ChangeLog b/src/ChangeLog index 8ec648e71cf..6cf45e5d2aa 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2011-06-23 Paul Eggert + * lisp.h (DEFVAR_KBOARD): Use offsetof instead of char * finagling. + * lread.c: Integer overflow fixes. (read_integer): Radix is now EMACS_INT, not int, to improve quality of diagnostics for out-of-range radices. diff --git a/src/lisp.h b/src/lisp.h index 4c9543bdfe8..289ed2caa7c 100644 --- a/src/lisp.h +++ b/src/lisp.h @@ -1980,10 +1980,7 @@ extern void defvar_kboard (struct Lisp_Kboard_Objfwd *, const char *, int); #define DEFVAR_KBOARD(lname, vname, doc) \ do { \ static struct Lisp_Kboard_Objfwd ko_fwd; \ - defvar_kboard (&ko_fwd, \ - lname, \ - (int)((char *)(¤t_kboard->vname ## _) \ - - (char *)current_kboard)); \ + defvar_kboard (&ko_fwd, lname, offsetof (KBOARD, vname ## _)); \ } while (0) -- 2.39.5