IMAGEX_NORPFIX_OPTION,
IMAGEX_NOCHECK_OPTION,
IMAGEX_NO_ACLS_OPTION,
+ IMAGEX_NO_ATTRIBUTES_OPTION,
IMAGEX_NO_WILDCARDS_OPTION,
+ IMAGEX_ONE_FILE_ONLY_OPTION,
IMAGEX_NOT_PIPABLE_OPTION,
IMAGEX_PACK_CHUNK_SIZE_OPTION,
IMAGEX_PACK_STREAMS_OPTION,
{T("noacls"), no_argument, NULL, IMAGEX_NO_ACLS_OPTION},
{T("no-acls"), no_argument, NULL, IMAGEX_NO_ACLS_OPTION},
{T("strict-acls"), no_argument, NULL, IMAGEX_STRICT_ACLS_OPTION},
+ {T("no-attributes"), no_argument, NULL, IMAGEX_NO_ATTRIBUTES_OPTION},
{T("rpfix"), no_argument, NULL, IMAGEX_RPFIX_OPTION},
{T("norpfix"), no_argument, NULL, IMAGEX_NORPFIX_OPTION},
{T("include-invalid-names"), no_argument, NULL, IMAGEX_INCLUDE_INVALID_NAMES_OPTION},
static const struct option dir_options[] = {
{T("path"), required_argument, NULL, IMAGEX_PATH_OPTION},
{T("detailed"), no_argument, NULL, IMAGEX_DETAILED_OPTION},
+ {T("one-file-only"), no_argument, NULL, IMAGEX_ONE_FILE_ONLY_OPTION},
{NULL, 0, NULL, 0},
};
{T("noacls"), no_argument, NULL, IMAGEX_NO_ACLS_OPTION},
{T("no-acls"), no_argument, NULL, IMAGEX_NO_ACLS_OPTION},
{T("strict-acls"), no_argument, NULL, IMAGEX_STRICT_ACLS_OPTION},
+ {T("no-attributes"), no_argument, NULL, IMAGEX_NO_ATTRIBUTES_OPTION},
{T("dest-dir"), required_argument, NULL, IMAGEX_DEST_DIR_OPTION},
{T("to-stdout"), no_argument, NULL, IMAGEX_TO_STDOUT_OPTION},
{T("include-invalid-names"), no_argument, NULL, IMAGEX_INCLUDE_INVALID_NAMES_OPTION},
case IMAGEX_STRICT_ACLS_OPTION:
extract_flags |= WIMLIB_EXTRACT_FLAG_STRICT_ACLS;
break;
+ case IMAGEX_NO_ATTRIBUTES_OPTION:
+ extract_flags |= WIMLIB_EXTRACT_FLAG_NO_ATTRIBUTES;
+ break;
case IMAGEX_NORPFIX_OPTION:
extract_flags |= WIMLIB_EXTRACT_FLAG_NORPFIX;
break;
struct print_dentry_options options = {
.detailed = false,
};
+ int iterate_flags = WIMLIB_ITERATE_DIR_TREE_FLAG_RECURSIVE;
for_opt(c, dir_options) {
switch (c) {
case IMAGEX_DETAILED_OPTION:
options.detailed = true;
break;
+ case IMAGEX_ONE_FILE_ONLY_OPTION:
+ iterate_flags &= ~WIMLIB_ITERATE_DIR_TREE_FLAG_RECURSIVE;
+ break;
default:
goto out_usage;
}
image = 1;
}
- ret = wimlib_iterate_dir_tree(wim, image, path,
- WIMLIB_ITERATE_DIR_TREE_FLAG_RECURSIVE,
+ ret = wimlib_iterate_dir_tree(wim, image, path, iterate_flags,
print_dentry, &options);
out_wimlib_free:
wimlib_free(wim);
case IMAGEX_STRICT_ACLS_OPTION:
extract_flags |= WIMLIB_EXTRACT_FLAG_STRICT_ACLS;
break;
+ case IMAGEX_NO_ATTRIBUTES_OPTION:
+ extract_flags |= WIMLIB_EXTRACT_FLAG_NO_ATTRIBUTES;
+ break;
case IMAGEX_DEST_DIR_OPTION:
dest_dir = optarg;
break;
T(
" %"TS" WIMFILE [(IMAGE_NUM | IMAGE_NAME | all)]\n"
" (DIRECTORY | NTFS_VOLUME) [--check] [--ref=\"GLOB\"]\n"
-" [--no-acls] [--strict-acls] [--rpfix] [--norpfix]\n"
-" [--hardlink] [--symlink] [--include-invalid-names]\n"
+" [--no-acls] [--strict-acls] [--no-attributes]\n"
+" [--rpfix] [--norpfix] [--hardlink] [--symlink]\n"
+" [--include-invalid-names]\n"
),
[CMD_CAPTURE] =
T(
T(
" %"TS" WIMFILE (IMAGE_NUM | IMAGE_NAME) ([PATH...] | @LISTFILE)\n"
" [--check] [--ref=\"GLOB\"] [--no-acls] [--strict-acls]\n"
-" [--to-stdout] [--dest-dir=CMD_DIR]\n"
+" [--no-attributes] [--to-stdout] [--dest-dir=CMD_DIR]\n"
" [--include-invalid-names]\n"
),
[CMD_INFO] =