/** Name of the split WIM part that is about to be started
* (::WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART) or has just been
- * finished (::WIMLIB_PROGRESS_MSG_SPLIT_END_PART). */
- const wimlib_tchar *part_name;
+ * finished (::WIMLIB_PROGRESS_MSG_SPLIT_END_PART).
+ * As of wimlib v1.6.3, the library user may change this when
+ * receiving ::WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART in order to
+ * cause the next split WIM part to be written to a different
+ * location. */
+ wimlib_tchar *part_name;
} split;
/** Valid on messages ::WIMLIB_PROGRESS_MSG_REPLACE_FILE_IN_WIM */
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;
- progress.split.part_name = swm_name_buf;
randomize_byte_array(guid, WIMLIB_GUID_LEN);
}
progress.split.cur_part_number = part_number;
+ progress.split.part_name = swm_name_buf;
ret = call_progress(orig_wim->progfunc,
WIMLIB_PROGRESS_MSG_SPLIT_BEGIN_PART,
progfunc = orig_wim->progfunc;
orig_wim->progfunc = NULL;
ret = write_wim_part(orig_wim,
- swm_name_buf,
+ progress.split.part_name,
WIMLIB_ALL_IMAGES,
part_write_flags,
1,