]> wimlib.net Git - wimlib/blobdiff - src/lookup_table.c
print_lookup_table(): Print metadata entries
[wimlib] / src / lookup_table.c
index f3d8c537d4237730d89ca24a56545f2c05225bdb..d225d627675c0901025f7806199e2cd99f0d89c8 100644 (file)
@@ -365,6 +365,8 @@ struct wim_lookup_table_entry_disk {
        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;
@@ -752,9 +758,11 @@ do_print_lookup_table_entry(struct wim_lookup_table_entry *lte, void *fp)
  * Prints the lookup table of a WIM file.
  */
 WIMLIBAPI void
-wimlib_print_lookup_table(WIMStruct *w)
+wimlib_print_lookup_table(WIMStruct *wim)
 {
-       for_lookup_table_entry(w->lookup_table,
+       for (int i = 0; i < wim->hdr.image_count; i++)
+               print_lookup_table_entry(wim->image_metadata[i]->metadata_lte, stdout);
+       for_lookup_table_entry(wim->lookup_table,
                               do_print_lookup_table_entry,
                               stdout);
 }