#ifdef WITH_NTFS_3G
wim_get_current_image_metadata(wim)->ntfs_vol = ntfs_vol;
#endif
- if (add_flags & WIMLIB_ADD_FLAG_RPFIX)
- wim->hdr.flags |= WIM_HDR_FLAG_RP_FIX;
ret = 0;
goto out_destroy_config;
out_cleanup_after_capture:
WIMLIB_ADD_FLAG_NO_UNSUPPORTED_EXCLUDE |
WIMLIB_ADD_FLAG_WINCONFIG |
WIMLIB_ADD_FLAG_WIMBOOT |
- WIMLIB_ADD_FLAG_NO_REPLACE))
+ WIMLIB_ADD_FLAG_NO_REPLACE |
+ WIMLIB_ADD_FLAG_TEST_FILE_EXCLUSION))
return WIMLIB_ERR_INVALID_PARAM;
bool is_entire_image = WIMLIB_IS_WIM_ROOT_PATH(cmd->add.wim_target_path);
* directories, may have changed. Call xml_update_image_info() to
* recalculate these statistics. */
xml_update_image_info(wim, image);
+
+ for (size_t i = 0; i < num_cmds; i++)
+ if (cmds_copy[i].op == WIMLIB_UPDATE_OP_ADD &&
+ cmds_copy[i].add.add_flags & WIMLIB_ADD_FLAG_RPFIX)
+ wim->hdr.flags |= WIM_HDR_FLAG_RP_FIX;
out_free_cmds_copy:
free_update_commands(cmds_copy, num_cmds);
out:
return ret;
}
-static int
-update1(WIMStruct *wim, int image, const struct wimlib_update_command *cmd)
-{
- return wimlib_update_image(wim, image, cmd, 1, 0);
-}
-
WIMLIBAPI int
wimlib_delete_path(WIMStruct *wim, int image,
const tchar *path, int delete_flags)
cmd.delete_.wim_path = (tchar *)path;
cmd.delete_.delete_flags = delete_flags;
- return update1(wim, image, &cmd);
+ return wimlib_update_image(wim, image, &cmd, 1, 0);
}
WIMLIBAPI int
cmd.rename.wim_target_path = (tchar *)dest_path;
cmd.rename.rename_flags = 0;
- return update1(wim, image, &cmd);
+ return wimlib_update_image(wim, image, &cmd, 1, 0);
}
WIMLIBAPI int
cmd.add.add_flags = add_flags;
cmd.add.config_file = NULL;
- return update1(wim, image, &cmd);
+ return wimlib_update_image(wim, image, &cmd, 1, 0);
}