emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r100785: Use offsetof instead of own


From: Andreas Schwab
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r100785: Use offsetof instead of own definition
Date: Sun, 11 Jul 2010 20:34:43 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 100785
committer: Andreas Schwab <address@hidden>
branch nick: emacs
timestamp: Sun 2010-07-11 20:34:43 +0200
message:
  Use offsetof instead of own definition
  
  * lisp.h: Include <stddef.h>.
  (OFFSETOF): Don't define.
  (VECSIZE): Use offsetof instead of OFFSETOF.
  (PSEUDOVECSIZE): Likewise.
  * process.c (conv_sockaddr_to_lisp): Likewise.
  * alloc.c: Don't include <stddef.h>.
  * buffer.h (PER_BUFFER_VAR_OFFSET): Use offsetof.
modified:
  src/ChangeLog
  src/alloc.c
  src/buffer.h
  src/lisp.h
  src/process.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2010-07-11 18:19:16 +0000
+++ b/src/ChangeLog     2010-07-11 18:34:43 +0000
@@ -1,5 +1,13 @@
 2010-07-11  Andreas Schwab  <address@hidden>
 
+       * lisp.h: Include <stddef.h>.
+       (OFFSETOF): Don't define.
+       (VECSIZE): Use offsetof instead of OFFSETOF.
+       (PSEUDOVECSIZE): Likewise.
+       * process.c (conv_sockaddr_to_lisp): Likewise.
+       * alloc.c: Don't include <stddef.h>.
+       * buffer.h (PER_BUFFER_VAR_OFFSET): Use offsetof.
+
        * process.c: Remove obsolete comment.
 
 2010-07-11  Chong Yidong  <address@hidden>

=== modified file 'src/alloc.c'
--- a/src/alloc.c       2010-07-11 09:27:13 +0000
+++ b/src/alloc.c       2010-07-11 18:34:43 +0000
@@ -23,10 +23,6 @@
 #include <limits.h>            /* For CHAR_BIT.  */
 #include <setjmp.h>
 
-#ifdef STDC_HEADERS
-#include <stddef.h>            /* For offsetof, used by PSEUDOVECSIZE. */
-#endif
-
 #ifdef ALLOC_DEBUG
 #undef INLINE
 #endif

=== modified file 'src/buffer.h'
--- a/src/buffer.h      2010-07-02 09:26:33 +0000
+++ b/src/buffer.h      2010-07-11 18:34:43 +0000
@@ -954,7 +954,7 @@
    from the start of a buffer structure.  */
 
 #define PER_BUFFER_VAR_OFFSET(VAR) \
-  ((char *) &((struct buffer *)0)->VAR - (char *) ((struct buffer *)0))
+  offsetof (struct buffer, VAR)
 
 /* Return the index of buffer-local variable VAR.  Each per-buffer
    variable has an index > 0 associated with it, except when it always

=== modified file 'src/lisp.h'
--- a/src/lisp.h        2010-07-11 09:27:13 +0000
+++ b/src/lisp.h        2010-07-11 18:34:43 +0000
@@ -22,6 +22,7 @@
 #define EMACS_LISP_H
 
 #include <stdarg.h>
+#include <stddef.h>
 
 /* Use the configure flag --enable-checking[=LIST] to enable various
    types of run time checks for Lisp objects.  */
@@ -784,13 +785,6 @@
     unsigned char *data;
   };
 
-#ifdef offsetof
-#define OFFSETOF(type,field) offsetof(type,field)
-#else
-#define OFFSETOF(type,field) \
-  ((int)((char*)&((type*)0)->field - (char*)0))
-#endif
-
 struct Lisp_Vector
   {
     EMACS_UINT size;
@@ -801,7 +795,7 @@
 /* If a struct is made to look like a vector, this macro returns the length
    of the shortest vector that would hold that struct.  */
 #define VECSIZE(type) ((sizeof (type)                                    \
-                       - OFFSETOF (struct Lisp_Vector, contents[0])      \
+                       - offsetof (struct Lisp_Vector, contents[0])      \
                         + sizeof(Lisp_Object) - 1) /* round up */        \
                       / sizeof (Lisp_Object))
 
@@ -809,7 +803,7 @@
    at the end and we need to compute the number of Lisp_Object fields (the
    ones that the GC needs to trace).  */
 #define PSEUDOVECSIZE(type, nonlispfield) \
-  ((OFFSETOF(type, nonlispfield) - OFFSETOF(struct Lisp_Vector, contents[0])) \
+  ((offsetof(type, nonlispfield) - offsetof(struct Lisp_Vector, contents[0])) \
    / sizeof (Lisp_Object))
 
 /* A char-table is a kind of vectorlike, with contents are like a

=== modified file 'src/process.c'
--- a/src/process.c     2010-07-11 18:19:16 +0000
+++ b/src/process.c     2010-07-11 18:34:43 +0000
@@ -2263,7 +2263,7 @@
   /* Workaround for a bug in getsockname on BSD: Names bound to
      sockets in the UNIX domain are inaccessible; getsockname returns
      a zero length name.  */
-  if (len < OFFSETOF (struct sockaddr, sa_family) + sizeof (sa->sa_family))
+  if (len < offsetof (struct sockaddr, sa_family) + sizeof (sa->sa_family))
     return empty_unibyte_string;
 
   switch (sa->sa_family)
@@ -2303,7 +2303,7 @@
       }
 #endif
     default:
-      len -= OFFSETOF (struct sockaddr, sa_family) + sizeof (sa->sa_family);
+      len -= offsetof (struct sockaddr, sa_family) + sizeof (sa->sa_family);
       address = Fcons (make_number (sa->sa_family),
                       Fmake_vector (make_number (len), Qnil));
       p = XVECTOR (XCDR (address));


reply via email to

[Prev in Thread] Current Thread [Next in Thread]