return (off_t)-1;
}
-tchar pat_ntfs_log[] = T("/$ntfs.log");
-tchar pat_hiberfil_sys[] = T("/hiberfil.sys");
-tchar pat_pagefile_sys[] = T("/pagefile.sys");
-tchar pat_system_volume_information[] = T("/System Volume Information");
-tchar pat_recycler[] = T("/RECYCLER");
-tchar pat_windows_csc[] = T("/Windows/CSC");
-
-tchar *default_pats[] = {
- pat_ntfs_log,
- pat_hiberfil_sys,
- pat_pagefile_sys,
- pat_system_volume_information,
- pat_recycler,
- pat_windows_csc,
-};
-
-static struct wimlib_capture_config default_capture_config = {
- .exclusion_pats = {
- .num_pats = sizeof(default_pats) / sizeof(default_pats[0]),
- .pats = default_pats,
- },
-};
-
enum {
PARSE_STRING_SUCCESS = 0,
PARSE_STRING_FAILURE = 1,
}
break;
case WIMLIB_PROGRESS_MSG_SCAN_DENTRY:
- if (info->scan.excluded)
- imagex_printf(T("Excluding \"%"TS"\" from capture\n"), info->scan.cur_path);
- else
+ switch (info->scan.status) {
+ case WIMLIB_SCAN_DENTRY_OK:
imagex_printf(T("Scanning \"%"TS"\"\n"), info->scan.cur_path);
+ break;
+ case WIMLIB_SCAN_DENTRY_EXCLUDED:
+ imagex_printf(T("Excluding \"%"TS"\" from capture\n"), info->scan.cur_path);
+ break;
+ case WIMLIB_SCAN_DENTRY_UNSUPPORTED:
+ imagex_printf(T("WARNING: Excluding unsupported file or directory\n"
+ " \"%"TS"\" from capture\n"), info->scan.cur_path);
+ break;
+ }
break;
case WIMLIB_PROGRESS_MSG_VERIFY_INTEGRITY:
unit_shift = get_unit(info->integrity.total_bytes, &unit_name);
switch (op) {
case WIMLIB_UPDATE_OP_ADD:
if (!tstrcmp(option, T("--verbose")))
- cmd->add.add_flags |= WIMLIB_ADD_IMAGE_FLAG_VERBOSE;
+ cmd->add.add_flags |= WIMLIB_ADD_FLAG_VERBOSE;
else if (!tstrcmp(option, T("--unix-data")))
- cmd->add.add_flags |= WIMLIB_ADD_IMAGE_FLAG_UNIX_DATA;
+ cmd->add.add_flags |= WIMLIB_ADD_FLAG_UNIX_DATA;
else if (!tstrcmp(option, T("--no-acls")) || !tstrcmp(option, T("--noacls")))
- cmd->add.add_flags |= WIMLIB_ADD_IMAGE_FLAG_NO_ACLS;
+ cmd->add.add_flags |= WIMLIB_ADD_FLAG_NO_ACLS;
else if (!tstrcmp(option, T("--strict-acls")))
- cmd->add.add_flags |= WIMLIB_ADD_IMAGE_FLAG_STRICT_ACLS;
+ cmd->add.add_flags |= WIMLIB_ADD_FLAG_STRICT_ACLS;
else if (!tstrcmp(option, T("--dereference")))
- cmd->add.add_flags |= WIMLIB_ADD_IMAGE_FLAG_DEREFERENCE;
+ cmd->add.add_flags |= WIMLIB_ADD_FLAG_DEREFERENCE;
else
recognized = false;
break;
{
int c;
int open_flags = WIMLIB_OPEN_FLAG_WRITE_ACCESS;
- int add_image_flags = WIMLIB_ADD_IMAGE_FLAG_EXCLUDE_VERBOSE;
+ int add_image_flags = WIMLIB_ADD_IMAGE_FLAG_EXCLUDE_VERBOSE |
+ WIMLIB_ADD_IMAGE_FLAG_WINCONFIG;
int write_flags = 0;
int compression_type = WIMLIB_COMPRESSION_TYPE_LZX;
const tchar *wimfile;
break;
case IMAGEX_CONFIG_OPTION:
config_file = optarg;
+ add_image_flags &= ~WIMLIB_ADD_IMAGE_FLAG_WINCONFIG;
break;
case IMAGEX_COMPRESS_OPTION:
compression_type = get_compression_type(optarg);
if (ret)
goto out_free_config;
} else {
- config = &default_capture_config;
+ config = NULL;
}
if (cmd == CMD_APPEND)
out_wimlib_free:
wimlib_free(wim);
out_free_config:
- if (config != &default_capture_config) {
+ if (config) {
free(config->exclusion_pats.pats);
free(config->exclusion_exception_pats.pats);
free(config_str);
int open_flags = WIMLIB_OPEN_FLAG_WRITE_ACCESS;
int write_flags = 0;
int update_flags = WIMLIB_UPDATE_FLAG_SEND_PROGRESS;
- int default_add_flags = WIMLIB_ADD_IMAGE_FLAG_EXCLUDE_VERBOSE;
+ int default_add_flags = WIMLIB_ADD_FLAG_EXCLUDE_VERBOSE |
+ WIMLIB_ADD_FLAG_WINCONFIG;
int default_delete_flags = 0;
unsigned num_threads = 0;
int c;
/* Global add option */
case IMAGEX_CONFIG_OPTION:
+ default_add_flags &= ~WIMLIB_ADD_FLAG_WINCONFIG;
config_file = optarg;
break;
/* Default add options */
case IMAGEX_VERBOSE_OPTION:
- default_add_flags |= WIMLIB_ADD_IMAGE_FLAG_VERBOSE;
+ default_add_flags |= WIMLIB_ADD_FLAG_VERBOSE;
break;
case IMAGEX_DEREFERENCE_OPTION:
- default_add_flags |= WIMLIB_ADD_IMAGE_FLAG_DEREFERENCE;
+ default_add_flags |= WIMLIB_ADD_FLAG_DEREFERENCE;
break;
case IMAGEX_UNIX_DATA_OPTION:
- default_add_flags |= WIMLIB_ADD_IMAGE_FLAG_UNIX_DATA;
+ default_add_flags |= WIMLIB_ADD_FLAG_UNIX_DATA;
break;
case IMAGEX_NO_ACLS_OPTION:
- default_add_flags |= WIMLIB_ADD_IMAGE_FLAG_NO_ACLS;
+ default_add_flags |= WIMLIB_ADD_FLAG_NO_ACLS;
break;
case IMAGEX_STRICT_ACLS_OPTION:
- default_add_flags |= WIMLIB_ADD_IMAGE_FLAG_STRICT_ACLS;
+ default_add_flags |= WIMLIB_ADD_FLAG_STRICT_ACLS;
break;
default:
goto out_usage;
if (ret)
goto out_free_config;
} else {
- config = &default_capture_config;
+ config = NULL;
}
/* Read update commands from standard input, or the command string if
}
/* Set default flags and capture config on the update commands */
- bool have_add_command = false;
for (size_t i = 0; i < num_cmds; i++) {
switch (cmds[i].op) {
case WIMLIB_UPDATE_OP_ADD:
cmds[i].add.add_flags |= default_add_flags;
cmds[i].add.config = config;
- have_add_command = true;
break;
case WIMLIB_UPDATE_OP_DELETE:
cmds[i].delete.delete_flags |= default_delete_flags;
out_free_cmd_file_contents:
free(cmd_file_contents);
out_free_config:
- if (config != &default_capture_config) {
+ if (config) {
free(config->exclusion_pats.pats);
free(config->exclusion_exception_pats.pats);
free(config_str);