]> wimlib.net Git - wimlib/blobdiff - src/lookup_table.c
win32_capture.c: Load volume information on first chance
[wimlib] / src / lookup_table.c
index 41642526f4b66d8ee0bf46fcf362f8d13e2b240a..6f0786500b817b3bb3568f344778afe1fe623165 100644 (file)
@@ -94,17 +94,11 @@ do_free_lookup_table_entry(struct wim_lookup_table_entry *entry, void *ignore)
 void
 free_lookup_table(struct wim_lookup_table *table)
 {
-       DEBUG("Freeing lookup table.");
-       if (table == NULL)
-               return;
-
-       if (table->array) {
-               for_lookup_table_entry(table,
-                                      do_free_lookup_table_entry,
-                                      NULL);
+       if (table) {
+               for_lookup_table_entry(table, do_free_lookup_table_entry, NULL);
                FREE(table->array);
+               FREE(table);
        }
-       FREE(table);
 }
 
 struct wim_lookup_table_entry *
@@ -429,7 +423,7 @@ cmp_streams_by_sequential_order(const void *p1, const void *p2)
 
                /* Different (possibly split) WIMs?  */
                if (wim1 != wim2) {
-                       v = memcmp(wim1->hdr.guid, wim2->hdr.guid, WIM_GID_LEN);
+                       v = memcmp(wim1->hdr.guid, wim2->hdr.guid, WIM_GUID_LEN);
                        if (v)
                                return v;
                }
@@ -1434,7 +1428,7 @@ wimlib_iterate_lookup_table(WIMStruct *wim, int flags,
                .cb = cb,
                .user_ctx = user_ctx,
        };
-       if (wim->hdr.part_number == 1) {
+       if (wim_has_metadata(wim)) {
                int ret;
                for (int i = 0; i < wim->hdr.image_count; i++) {
                        ret = do_iterate_lte(wim->image_metadata[i]->metadata_lte,