[Top][All Lists]
[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));
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] /srv/bzr/emacs/trunk r100785: Use offsetof instead of own definition,
Andreas Schwab <=