]> wimlib.net Git - wimlib/blobdiff - src/lookup_table.c
Make padded structures work properly with MinGW
[wimlib] / src / lookup_table.c
index 95708866c9197614588f23ecc0caa26ceac71d02..a24cf68887d40a4246d3a29ad7639e29f67fb506 100644 (file)
@@ -355,16 +355,18 @@ struct wim_lookup_table_entry_disk {
        struct resource_entry_disk resource_entry;
 
        /* Which part of the split WIM this stream is in; indexed from 1. */
-       u16 part_number;
+       le16 part_number;
 
        /* Reference count of this stream over all WIM images. */
-       u32 refcnt;
+       le32 refcnt;
 
        /* SHA1 message digest of the uncompressed data of this stream, or
         * optionally all zeroes if this stream is of zero length. */
        u8 hash[SHA1_HASH_SIZE];
 } _packed_attribute;
 
+#define WIM_LOOKUP_TABLE_ENTRY_DISK_SIZE 50
+
 /*
  * Reads the lookup table from a WIM file.
  *
@@ -382,6 +384,10 @@ read_lookup_table(WIMStruct *w)
        struct wim_lookup_table_entry_disk
                        table_buf[BUFFER_SIZE / sizeof(struct wim_lookup_table_entry_disk)]
                                _aligned_attribute(8);
+
+       BUILD_BUG_ON(sizeof(struct wim_lookup_table_entry_disk) !=
+                    WIM_LOOKUP_TABLE_ENTRY_DISK_SIZE);
+
        off_t offset;
        size_t buf_entries_remaining;
        const struct wim_lookup_table_entry_disk *disk_entry;