From 93f9233fb64b34481e084a4bb5a4a6a0a3367698 Mon Sep 17 00:00:00 2001 From: darkstar Date: Wed, 21 Feb 2018 20:46:07 +0100 Subject: [PATCH] MSVC: Fix usage of gcc __attribute__((packed)) Yes, this is ugly but sadly there's no standard way to define packed structs --- src/cdrom/cdrom_image.cc | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/cdrom/cdrom_image.cc b/src/cdrom/cdrom_image.cc index c65c43b..79203cb 100644 --- a/src/cdrom/cdrom_image.cc +++ b/src/cdrom/cdrom_image.cc @@ -386,6 +386,11 @@ static int image_is_track_audio(uint8_t id, uint32_t pos, int ismsf) return attr == AUDIO_TRACK; } +#ifdef _MSC_VER +#pragma pack(push, 1) +#define __attribute__(x) +#endif + typedef struct __attribute__((__packed__)) { uint8_t user_data[2048]; @@ -433,6 +438,11 @@ typedef union __attribute__((__packed__)) uint8_t buffer[2856]; } sector_buffer_t; +#ifdef _MSC_VER +#pragma pack(pop) +#undef __attribute__ +#endif + sector_buffer_t cdrom_sector_buffer; int cdrom_sector_size;