- /* metadata resources were already written. */
- if (lte->resource_entry.flags & WIM_RESHDR_FLAG_METADATA)
- return 0;
+ swm_name_len = tstrlen(swm_name);
+ swm_name_buf = alloca((swm_name_len + 20) * sizeof(tchar));
+ tstrcpy(swm_name_buf, swm_name);
+ dot = tstrchr(swm_name_buf, T('.'));
+ if (dot) {
+ swm_base_name_len = dot - swm_name_buf;
+ swm_suffix = alloca((tstrlen(dot) + 1) * sizeof(tchar));
+ tstrcpy(swm_suffix, dot);
+ } else {
+ swm_base_name_len = swm_name_len;
+ swm_suffix = alloca(1 * sizeof(tchar));
+ swm_suffix[0] = T('\0');
+ }
+
+ progress.split.completed_bytes = 0;
+ progress.split.total_bytes = 0;
+ for (part_number = 1; part_number <= swm_info->num_parts; part_number++)
+ progress.split.total_bytes += swm_info->parts[part_number - 1].size;
+ progress.split.total_parts = swm_info->num_parts;