From 1324f06384870fdd6e5829dc4f775afe4de61867 Mon Sep 17 00:00:00 2001 From: Peter Maydell Date: Mon, 10 Dec 2018 11:26:49 +0000 Subject: uuid: Make qemu_uuid_bswap() take and return a QemuUUID MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Currently qemu_uuid_bswap() takes a pointer to the QemuUUID to be byte-swapped. This means it can't be used when the UUID to be swapped is in a packed member of a struct. It's also out of line with the general bswap*() functions we provide in bswap.h, which take the value to be swapped and return it. Make qemu_uuid_bswap() take a QemuUUID and return the swapped version. This fixes some clang warnings about taking the address of a packed struct member in block/vdi.c. Signed-off-by: Peter Maydell Reviewed-by: Michael S. Tsirkin Reviewed-by: Marc-André Lureau Signed-off-by: Kevin Wolf --- util/uuid.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'util/uuid.c') diff --git a/util/uuid.c b/util/uuid.c index ebf06c0..5787f09 100644 --- a/util/uuid.c +++ b/util/uuid.c @@ -110,10 +110,10 @@ int qemu_uuid_parse(const char *str, QemuUUID *uuid) /* Swap from UUID format endian (BE) to the opposite or vice versa. */ -void qemu_uuid_bswap(QemuUUID *uuid) +QemuUUID qemu_uuid_bswap(QemuUUID uuid) { - assert(QEMU_PTR_IS_ALIGNED(uuid, sizeof(uint32_t))); - bswap32s(&uuid->fields.time_low); - bswap16s(&uuid->fields.time_mid); - bswap16s(&uuid->fields.time_high_and_version); + bswap32s(&uuid.fields.time_low); + bswap16s(&uuid.fields.time_mid); + bswap16s(&uuid.fields.time_high_and_version); + return uuid; } -- cgit v1.1