diff src/alloc.c @ 406:b8cc9ab3f761 r21-2-33

Import from CVS: tag r21-2-33
author cvs
date Mon, 13 Aug 2007 11:17:09 +0200
parents 2f8bb876ab1d
children 697ef44129c6
line wrap: on
line diff
--- a/src/alloc.c	Mon Aug 13 11:16:09 2007 +0200
+++ b/src/alloc.c	Mon Aug 13 11:17:09 2007 +0200
@@ -1082,7 +1082,8 @@
 static size_t
 size_vector (const void *lheader)
 {
-  return offsetof (Lisp_Vector, contents[((Lisp_Vector *) lheader)->size]);
+  return FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Vector, contents,
+				       ((Lisp_Vector *) lheader)->size);
 }
 
 static int
@@ -1129,7 +1130,7 @@
 make_vector_internal (size_t sizei)
 {
   /* no vector_next */
-  size_t sizem = offsetof (Lisp_Vector, contents[sizei]);
+  size_t sizem = FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Vector, contents, sizei);
   Lisp_Vector *p = (Lisp_Vector *) alloc_lcrecord (sizem, &lrecord_vector);
 
   p->size = sizei;
@@ -1292,7 +1293,7 @@
 make_bit_vector_internal (size_t sizei)
 {
   size_t num_longs = BIT_VECTOR_LONG_STORAGE (sizei);
-  size_t sizem = offsetof (Lisp_Bit_Vector, bits[num_longs]);
+  size_t sizem = FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Bit_Vector, bits, num_longs);
   Lisp_Bit_Vector *p = (Lisp_Bit_Vector *) allocate_lisp_storage (sizem);
   set_lheader_implementation (&p->lheader, &lrecord_bit_vector);
 
@@ -2663,7 +2664,8 @@
 	  total_size += len;
           total_storage +=
 	    MALLOC_OVERHEAD +
-	    offsetof (Lisp_Bit_Vector, bits[BIT_VECTOR_LONG_STORAGE (len)]);
+	    FLEXIBLE_ARRAY_STRUCT_SIZEOF (Lisp_Bit_Vector, bits,
+					  BIT_VECTOR_LONG_STORAGE (len));
 	  num_used++;
 	  /* #### May modify next on a C_READONLY bitvector */
 	  prev = &(bit_vector_next (v));
@@ -3140,8 +3142,9 @@
     UNMARK_RECORD_HEADER (&(p->lheader));	\
     num_bytes += size;				\
     if (!BIG_STRING_SIZE_P (size))		\
-      { num_small_bytes += size;		\
-      num_small_used++;				\
+      {						\
+	num_small_bytes += size;		\
+        num_small_used++;			\
       }						\
     if (debug)					\
       debug_string_purity_print (p);		\