"/$ntfs.log\n"
"/hiberfil.sys\n"
"/pagefile.sys\n"
+"/swapfile.sys\n"
"/System Volume Information\n"
"/RECYCLER\n"
"/Windows/CSC\n";
memset(¶ms, 0, sizeof(params));
+#ifdef WITH_NTFS_3G
if (add_flags & WIMLIB_ADD_FLAG_NTFS) {
- #ifdef WITH_NTFS_3G
capture_tree = build_dentry_tree_ntfs;
extra_arg = &ntfs_vol;
if (wim_get_current_image_metadata(wim)->ntfs_vol != NULL) {
ret = WIMLIB_ERR_INVALID_PARAM;
goto out;
}
- #else
- ret = WIMLIB_ERR_INVALID_PARAM;
- goto out;
- #endif
}
+#endif
ret = get_capture_config(config_file, &config,
add_flags, fs_source_path);
if (progress_func)
progress_func(WIMLIB_PROGRESS_MSG_SCAN_BEGIN, ¶ms.progress);
- config.prefix = fs_source_path;
- config.prefix_num_tchars = tstrlen(fs_source_path);
-
if (WIMLIB_IS_WIM_ROOT_PATH(wim_target_path))
params.add_flags |= WIMLIB_ADD_FLAG_ROOT;
ret = (*capture_tree)(&branch, fs_source_path, ¶ms);
bool is_entire_image = WIMLIB_IS_WIM_ROOT_PATH(cmd->add.wim_target_path);
-#ifdef __WIN32__
- /* Check for flags not supported on Windows */
+#ifndef WITH_NTFS_3G
if (add_flags & WIMLIB_ADD_FLAG_NTFS) {
- ERROR("wimlib was compiled without support for NTFS-3g, so");
- ERROR("we cannot capture a WIM image directly from a NTFS volume");
+ ERROR("wimlib was compiled without support for NTFS-3g, so\n"
+ " we cannot capture a WIM image directly "
+ "from an NTFS volume");
return WIMLIB_ERR_UNSUPPORTED;
}
+#endif
+
+#ifdef __WIN32__
+ /* Check for flags not supported on Windows */
if (add_flags & WIMLIB_ADD_FLAG_UNIX_DATA) {
ERROR("Capturing UNIX-specific data is not supported on Windows");
return WIMLIB_ERR_UNSUPPORTED;
for (size_t i = 0; i < num_cmds; i++) {
switch (cmds[i].op) {
case WIMLIB_UPDATE_OP_ADD:
- FREE(cmds[i].add.fs_source_path);
FREE(cmds[i].add.wim_target_path);
- FREE(cmds[i].add.config_file);
break;
case WIMLIB_UPDATE_OP_DELETE:
FREE(cmds[i].delete_.wim_path);
cmds_copy[i].op = cmds[i].op;
switch (cmds[i].op) {
case WIMLIB_UPDATE_OP_ADD:
- cmds_copy[i].add.fs_source_path =
- canonicalize_fs_path(cmds[i].add.fs_source_path);
+ cmds_copy[i].add.fs_source_path = cmds[i].add.fs_source_path;
cmds_copy[i].add.wim_target_path =
canonicalize_wim_path(cmds[i].add.wim_target_path);
- if (!cmds_copy[i].add.fs_source_path ||
- !cmds_copy[i].add.wim_target_path)
+ if (!cmds_copy[i].add.wim_target_path)
goto oom;
- if (cmds[i].add.config_file) {
- cmds_copy[i].add.config_file = TSTRDUP(cmds[i].add.config_file);
- if (!cmds_copy[i].add.config_file)
- goto oom;
- }
+ cmds_copy[i].add.config_file = cmds[i].add.config_file;
cmds_copy[i].add.add_flags = cmds[i].add.add_flags;
break;
case WIMLIB_UPDATE_OP_DELETE: