X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=programs%2Fimagex.c;h=6044a93c0c23d9e01a013d89ae88607fb05a4a21;hb=2f1f50993984f88df675f0c3302cf4fa52982f05;hp=f795ded78c0bd9f5de27def77750c96c78e0b93d;hpb=2850f8933244f6c63f608eec612ad804e01072e1;p=wimlib diff --git a/programs/imagex.c b/programs/imagex.c index f795ded7..6044a93c 100644 --- a/programs/imagex.c +++ b/programs/imagex.c @@ -145,7 +145,9 @@ enum { 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, @@ -182,6 +184,7 @@ static const struct option apply_options[] = { {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}, @@ -232,6 +235,7 @@ static const struct option delete_options[] = { 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}, }; @@ -262,6 +266,7 @@ static const struct option extract_options[] = { {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}, @@ -1616,6 +1621,9 @@ imagex_apply(int argc, tchar **argv, int cmd) 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; @@ -2584,6 +2592,7 @@ imagex_dir(int argc, tchar **argv, int cmd) struct print_dentry_options options = { .detailed = false, }; + int iterate_flags = WIMLIB_ITERATE_DIR_TREE_FLAG_RECURSIVE; for_opt(c, dir_options) { switch (c) { @@ -2593,6 +2602,9 @@ imagex_dir(int argc, tchar **argv, int cmd) 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; } @@ -2636,8 +2648,7 @@ imagex_dir(int argc, tchar **argv, int cmd) 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); @@ -3003,6 +3014,9 @@ imagex_extract(int argc, tchar **argv, int cmd) 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; @@ -4037,8 +4051,9 @@ T( 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( @@ -4070,7 +4085,7 @@ 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] =