util: Use C99 flexible arrays

Use C99 flexible arrays instead of older style of one-element or
zero-length arrays.
It allows the compiler to generate errors when the flexible array does
not occur at the end in the structure.

Change-Id: I6b87680ec9f501945ae266ae4e4927efd2399d56
Signed-off-by: Elyes Haouas <ehaouas@noos.fr>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/76815
Reviewed-by: Felix Singer <service+coreboot-gerrit@felixsinger.de>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Elyes Haouas
2023-07-30 13:06:10 +02:00
committed by Jakub Czapiga
parent dc15867e3b
commit fc2f304f06
4 changed files with 7 additions and 7 deletions

View File

@ -70,7 +70,7 @@ struct bpdt_entry {
struct bpdt { struct bpdt {
struct bpdt_header h; struct bpdt_header h;
/* In practice, this could be an array of 0 to n entries. */ /* In practice, this could be an array of 0 to n entries. */
struct bpdt_entry e[0]; struct bpdt_entry e[];
} __packed; } __packed;
static inline size_t get_bpdt_size(struct bpdt_header *h) static inline size_t get_bpdt_size(struct bpdt_header *h)
@ -124,7 +124,7 @@ struct subpart_dir_entry {
struct subpart_dir { struct subpart_dir {
struct subpart_dir_header h; struct subpart_dir_header h;
/* In practice, this could be an array of 0 to n entries. */ /* In practice, this could be an array of 0 to n entries. */
struct subpart_dir_entry e[0]; struct subpart_dir_entry e[];
} __packed; } __packed;
static inline size_t subpart_dir_size(struct subpart_dir_header *h) static inline size_t subpart_dir_size(struct subpart_dir_header *h)

View File

@ -1116,7 +1116,7 @@ static void dump_tpm_log(void)
struct cbmem_console { struct cbmem_console {
u32 size; u32 size;
u32 cursor; u32 cursor;
u8 body[0]; u8 body[];
} __attribute__ ((__packed__)); } __attribute__ ((__packed__));
#define CBMC_CURSOR_MASK ((1 << 28) - 1) #define CBMC_CURSOR_MASK ((1 << 28) - 1)

View File

@ -157,7 +157,7 @@ struct bdb_general_definitions {
* number = (block_size - sizeof(bdb_general_definitions))/ * number = (block_size - sizeof(bdb_general_definitions))/
* sizeof(child_device_config); * sizeof(child_device_config);
*/ */
struct common_child_dev_config devices[0]; struct common_child_dev_config devices[];
} __attribute__ ((packed)); } __attribute__ ((packed));
struct bdb_driver_features { struct bdb_driver_features {

View File

@ -90,7 +90,7 @@ struct lb_memory_range {
struct lb_memory { struct lb_memory {
uint32_t tag; uint32_t tag;
uint32_t size; uint32_t size;
struct lb_memory_range map[0]; struct lb_memory_range map[];
}; };
#define LB_TAG_HWRPB 0x0002 #define LB_TAG_HWRPB 0x0002
@ -106,7 +106,7 @@ struct lb_mainboard {
uint32_t size; uint32_t size;
uint8_t vendor_idx; uint8_t vendor_idx;
uint8_t part_number_idx; uint8_t part_number_idx;
uint8_t strings[0]; uint8_t strings[];
}; };
#define LB_TAG_VERSION 0x0004 #define LB_TAG_VERSION 0x0004
@ -122,7 +122,7 @@ struct lb_mainboard {
struct lb_string { struct lb_string {
uint32_t tag; uint32_t tag;
uint32_t size; uint32_t size;
uint8_t string[0]; uint8_t string[];
}; };
#define LB_TAG_SERIAL 0x000f #define LB_TAG_SERIAL 0x000f
#define LB_TAG_CONSOLE 0x0010 #define LB_TAG_CONSOLE 0x0010