diff options
Diffstat (limited to 'vcpkg/ports/libusbmuxd/002_fix_struct_pack.patch')
| -rw-r--r-- | vcpkg/ports/libusbmuxd/002_fix_struct_pack.patch | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/vcpkg/ports/libusbmuxd/002_fix_struct_pack.patch b/vcpkg/ports/libusbmuxd/002_fix_struct_pack.patch new file mode 100644 index 0000000..0dfd27f --- /dev/null +++ b/vcpkg/ports/libusbmuxd/002_fix_struct_pack.patch @@ -0,0 +1,50 @@ +diff --git a/include/usbmuxd-proto.h b/include/usbmuxd-proto.h +index 38473f5..d004232 100644 +--- a/include/usbmuxd-proto.h ++++ b/include/usbmuxd-proto.h +@@ -57,28 +57,30 @@ enum usbmuxd_msgtype { + MESSAGE_PLIST = 8, + }; + ++#pragma pack(push, 1) ++ + struct usbmuxd_header { + uint32_t length; // length of message, including header + uint32_t version; // protocol version + uint32_t message; // message type + uint32_t tag; // responses to this query will echo back this tag +-} __attribute__((__packed__)); ++}; + + struct usbmuxd_result_msg { + struct usbmuxd_header header; + uint32_t result; +-} __attribute__((__packed__)); ++}; + + struct usbmuxd_connect_request { + struct usbmuxd_header header; + uint32_t device_id; + uint16_t port; // TCP port number + uint16_t reserved; // set to zero +-} __attribute__((__packed__)); ++}; + + struct usbmuxd_listen_request { + struct usbmuxd_header header; +-} __attribute__((__packed__)); ++}; + + struct usbmuxd_device_record { + uint32_t device_id; +@@ -86,7 +88,9 @@ struct usbmuxd_device_record { + char serial_number[256]; + uint16_t padding; + uint32_t location; +-} __attribute__((__packed__)); ++}; ++ ++#pragma pack(pop) + + #ifdef __cplusplus + } |