From ddfe2afbd3b4ceb86e30a13296dd097f15988657 Mon Sep 17 00:00:00 2001 From: Yu Watanabe Date: Sat, 17 May 2025 03:44:18 +0900 Subject: [PATCH] sd-journal: drop unnecessary use of dummy_t Then, make flex arrays to zero-length arrays, as union cannot have flex arrays, even though flex and zero-length arrays are effectively equivalent. --- src/libsystemd/sd-journal/journal-def.h | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/src/libsystemd/sd-journal/journal-def.h b/src/libsystemd/sd-journal/journal-def.h index 8cd0843197e..96c193c3fda 100644 --- a/src/libsystemd/sd-journal/journal-def.h +++ b/src/libsystemd/sd-journal/journal-def.h @@ -104,18 +104,13 @@ assert_cc(sizeof(struct FieldObject) == sizeof(struct FieldObject__packed)); le64_t xor_hash; \ union { \ struct { \ - dummy_t __empty__regular; \ - struct { \ - le64_t object_offset; \ - le64_t hash; \ - } regular[]; \ - }; \ + le64_t object_offset; \ + le64_t hash; \ + } regular[0]; /* this is an array; since we are not allowed to place a variable sized array + * in a union, we just zero-size it, even if it is generally longer. */ \ struct { \ - dummy_t __empty_compact; \ - struct { \ - le32_t object_offset; \ - } compact[]; \ - }; \ + le32_t object_offset; \ + } compact[0]; \ } items; \ } -- 2.47.3