+ /* Calculate total size of the streams in the split WIM parts. */
+ for (i = 0; i < num_swms; i++) {
+ part_bytes = lookup_table_total_stream_size(swms[i]->lookup_table);
+ swm_part_sizes[i] = part_bytes;
+ total_bytes += part_bytes;
+ }
+
+ if (progress_func) {
+ progress.join.total_bytes = total_bytes;
+ progress.join.total_parts = swms[0]->hdr.total_parts;
+ progress.join.completed_bytes = 0;
+ progress.join.completed_parts = 0;
+ progress_func(WIMLIB_PROGRESS_MSG_JOIN_STREAMS, &progress);
+ }
+
+ /* Write the resources (streams and metadata resources) from each SWM
+ * part */
+ swms[0]->write_metadata = true;