+/* Return the true size of a struct with a variable-length array field. */
+#define FLEXIBLE_ARRAY_STRUCT_SIZEOF(flexible_array_structtype, \
+ flexible_array_field, \
+ flexible_array_length) \
+ (offsetof (flexible_array_structtype, flexible_array_field) + \
+ (offsetof (flexible_array_structtype, flexible_array_field[1]) - \
+ offsetof (flexible_array_structtype, flexible_array_field[0])) * \
+ (flexible_array_length))
+