+
+ /* Verify the streams */
+
+ for_lookup_table_entry(wim->lookup_table, append_lte_to_list, &stream_list);
+
+ memset(&progress, 0, sizeof(progress));
+
+ progress.verify_streams.wimfile = wim->filename;
+ list_for_each_entry(lte, &stream_list, extraction_list) {
+ progress.verify_streams.total_streams++;
+ progress.verify_streams.total_bytes += lte->size;
+ }
+
+ ctx.progfunc = wim->progfunc;
+ ctx.progctx = wim->progctx;
+ ctx.progress = &progress;
+ ctx.next_progress = 0;
+
+ ret = call_progress(ctx.progfunc, WIMLIB_PROGRESS_MSG_VERIFY_STREAMS,
+ ctx.progress, ctx.progctx);
+ if (ret)
+ return ret;
+
+ return read_stream_list(&stream_list,
+ offsetof(struct wim_lookup_table_entry,
+ extraction_list),
+ &cbs, VERIFY_STREAM_HASHES);