aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/libusbmuxd/002_fix_struct_pack.patch
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/libusbmuxd/002_fix_struct_pack.patch')
-rw-r--r--vcpkg/ports/libusbmuxd/002_fix_struct_pack.patch50
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
+ }