+ /* Enable rollbacks */
+ for_blob_in_table(dest_wim->blob_table, blob_set_not_exported, NULL);
+
+ /* Export each requested image. */
+ for (src_image = start_src_image;
+ src_image <= end_src_image;
+ src_image++)
+ {
+ const tchar *next_dest_name, *next_dest_description;
+ struct wim_image_metadata *src_imd;
+ struct wim_inode *inode;
+
+ /* Determine destination image name and description. */
+
+ if (export_flags & WIMLIB_EXPORT_FLAG_NO_NAMES)
+ next_dest_name = T("");
+ else if (dest_name)
+ next_dest_name = dest_name;
+ else
+ next_dest_name = wimlib_get_image_name(src_wim, src_image);
+
+ if (export_flags & WIMLIB_EXPORT_FLAG_NO_DESCRIPTIONS)
+ next_dest_description = T("");
+ else if (dest_description)
+ next_dest_description = dest_description;
+ else
+ next_dest_description = wimlib_get_image_description(src_wim, src_image);
+
+ /* Check for name conflict. */
+ if (wimlib_image_name_in_use(dest_wim, next_dest_name)) {
+ ERROR("There is already an image named \"%"TS"\" "
+ "in the destination WIM", next_dest_name);
+ ret = WIMLIB_ERR_IMAGE_NAME_COLLISION;
+ goto out_rollback;
+ }
+
+ /* Load metadata for source image into memory. */
+ ret = select_wim_image(src_wim, src_image);