- if (write_flags & WIMLIB_OPEN_FLAG_SHOW_PROGRESS)
- printf("Writing `%s' (%.2f %% done)\n",
- swm_name,
- (double)total_bytes_written /
- (double)total_bytes * 100.0);
+ args.w = w;
+ args.swm_base_name = swm_base_name;
+ args.swm_base_name_len = swm_base_name_len;
+ args.swm_suffix = swm_suffix;
+ INIT_LIST_HEAD(&args.lte_list);
+ args.cur_part_number = 1;
+ args.write_flags = write_flags;
+ args.size_remaining = part_size;
+ args.part_size = part_size;
+ args.progress_func = progress_func;
+ args.progress.split.total_bytes = lookup_table_total_stream_size(w->lookup_table);
+ args.progress.split.cur_part_number = 1;
+ args.progress.split.completed_bytes = 0;
+ args.progress.split.part_name = swm_base_name;
+
+ if (progress_func) {
+ progress_func(WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART,
+ &args.progress);
+ }