From a91a962ea08a77e07b733ada9d1eed9292bc8046 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Tue, 17 May 2011 09:00:42 -0400 Subject: [PATCH] Use header_sizeof() for header size instead of gcc packed attribute Signed-off-by: Mathieu Desnoyers --- formats/ctf/ctf.c | 2 +- include/babeltrace/ctf/metadata.h | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/formats/ctf/ctf.c b/formats/ctf/ctf.c index 7c354bf0..ac064b80 100644 --- a/formats/ctf/ctf.c +++ b/formats/ctf/ctf.c @@ -410,7 +410,7 @@ int ctf_open_trace_metadata_packet_read(struct ctf_trace *td, FILE *in, char buf[4096]; int ret = 0; - readlen = fread(&header, sizeof(header), 1, in); + readlen = fread(&header, header_sizeof(header), 1, in); if (readlen < 1) return -EINVAL; diff --git a/include/babeltrace/ctf/metadata.h b/include/babeltrace/ctf/metadata.h index c1976247..e3cd325a 100644 --- a/include/babeltrace/ctf/metadata.h +++ b/include/babeltrace/ctf/metadata.h @@ -179,6 +179,9 @@ struct ctf_event { } field_mask; }; +#define HEADER_END char end_field +#define header_sizeof(type) offsetof(typeof(type), end_field) + struct metadata_packet_header { uint32_t magic; /* 0x75D11D57 */ uint8_t uuid[16]; /* Unique Universal Identifier */ @@ -188,6 +191,8 @@ struct metadata_packet_header { uint8_t compression_scheme; /* 0 if unused */ uint8_t encryption_scheme; /* 0 if unused */ uint8_t checksum_scheme; /* 0 if unused */ -} __attribute__((packed)); + HEADER_END; +}; + #endif /* _BABELTRACE_CTF_METADATA_H */ -- 2.34.1