# include <alloca.h>
#endif
+#define WIMLIB_COMPRESSION_TYPE_INVALID (-1)
+
#ifdef __WIN32__
# include "imagex-win32.h"
# define print_security_descriptor win32_print_security_descriptor
IMAGEX_NO_ACLS_OPTION,
IMAGEX_NO_ATTRIBUTES_OPTION,
IMAGEX_NO_REPLACE_OPTION,
- IMAGEX_NO_WILDCARDS_OPTION,
+ IMAGEX_NO_GLOBS_OPTION,
IMAGEX_NULLGLOB_OPTION,
IMAGEX_ONE_FILE_ONLY_OPTION,
IMAGEX_PACK_CHUNK_SIZE_OPTION,
{T("nocheck"), no_argument, NULL, IMAGEX_NOCHECK_OPTION},
{T("no-check"), no_argument, NULL, IMAGEX_NOCHECK_OPTION},
{T("compress"), required_argument, NULL, IMAGEX_COMPRESS_OPTION},
+ {T("recompress"), no_argument, NULL, IMAGEX_RECOMPRESS_OPTION},
{T("compress-slow"), no_argument, NULL, IMAGEX_COMPRESS_SLOW_OPTION},
{T("pack-streams"),no_argument, NULL, IMAGEX_PACK_STREAMS_OPTION},
{T("solid"), no_argument, NULL, IMAGEX_PACK_STREAMS_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},
- {T("no-wildcards"), no_argument, NULL, IMAGEX_NO_WILDCARDS_OPTION},
+ {T("no-wildcards"), no_argument, NULL, IMAGEX_NO_GLOBS_OPTION},
+ {T("no-globs"), no_argument, NULL, IMAGEX_NO_GLOBS_OPTION},
{T("nullglob"), no_argument, NULL, IMAGEX_NULLGLOB_OPTION},
{T("preserve-dir-structure"), no_argument, NULL, IMAGEX_PRESERVE_DIR_STRUCTURE_OPTION},
{T("wimboot"), no_argument, NULL, IMAGEX_WIMBOOT_OPTION},
imagex_printf(T("\nWARNING: Excluding unsupported file or directory\n"
" \"%"TS"\" from capture\n"), info->scan.cur_path);
break;
- case WIMLIB_SCAN_DENTRY_EXCLUDED_SYMLINK:
- imagex_printf(T("\nWARNING: Ignoring absolute symbolic link "
- "with out-of-tree target:\n"
- " \"%"TS"\" => \"%"TS"\"\n"
- " (Use --norpfix to capture "
- "absolute symbolic links as-is)\n"),
- info->scan.cur_path, info->scan.symlink_target);
- break;
case WIMLIB_SCAN_DENTRY_FIXED_SYMLINK:
/* Symlink fixups are enabled by default. This is
* mainly intended for Windows, which for some reason
* uses absolute junctions (with drive letters!) in the
* default installation. On UNIX-like systems, warn the
* user when fixing the target of an absolute symbolic
- * link, so they know to disable this if they want.
- * (Although, more likely they will get the warning
- * about an absolute symbolic link with an out-of-tree
- * target first.) */
+ * link, so they know to disable this if they want. */
#ifndef __WIN32__
imagex_printf(T("\nWARNING: Adjusted target of "
"absolute symbolic link \"%"TS"\"\n"
info->scan.cur_path);
#endif
break;
+ default:
+ break;
}
break;
case WIMLIB_PROGRESS_MSG_SCAN_END:
if (compression_type == WIMLIB_COMPRESSION_TYPE_INVALID)
goto out_err;
break;
+ case IMAGEX_RECOMPRESS_OPTION:
+ write_flags |= WIMLIB_WRITE_FLAG_RECOMPRESS;
+ break;
case IMAGEX_COMPRESS_SLOW_OPTION:
write_flags |= WIMLIB_WRITE_FLAG_RECOMPRESS;
set_compress_slow();
extract_flags |= WIMLIB_EXTRACT_FLAG_REPLACE_INVALID_FILENAMES;
extract_flags |= WIMLIB_EXTRACT_FLAG_ALL_CASE_CONFLICTS;
break;
- case IMAGEX_NO_WILDCARDS_OPTION:
+ case IMAGEX_NO_GLOBS_OPTION:
extract_flags &= ~WIMLIB_EXTRACT_FLAG_GLOB_PATHS;
break;
case IMAGEX_NULLGLOB_OPTION:
if (!(extract_flags & (WIMLIB_EXTRACT_FLAG_GLOB_PATHS |
WIMLIB_EXTRACT_FLAG_STRICT_GLOB)))
{
- imagex_error(T("Can't combine --no-wildcards and --nullglob!"));
+ imagex_error(T("Can't combine --no-globs and --nullglob!"));
goto out_err;
}
if (!imagex_be_quiet)
imagex_printf(T("Done extracting files.\n"));
} else if (ret == WIMLIB_ERR_PATH_DOES_NOT_EXIST) {
+ if ((extract_flags & (WIMLIB_EXTRACT_FLAG_STRICT_GLOB |
+ WIMLIB_EXTRACT_FLAG_GLOB_PATHS))
+ == (WIMLIB_EXTRACT_FLAG_STRICT_GLOB |
+ WIMLIB_EXTRACT_FLAG_GLOB_PATHS))
+ {
+ tfprintf(stderr,
+ T("Note: You can use the '--nullglob' "
+ "option to ignore missing files.\n"));
+ }
tfprintf(stderr, T("Note: You can use `%"TS"' to see what "
"files and directories\n"
" are in the WIM image.\n"),
" DEST_WIMFILE [DEST_IMAGE_NAME [DEST_IMAGE_DESCRIPTION]]\n"
" [--boot] [--check] [--nocheck] [--compress=TYPE]\n"
" [--ref=\"GLOB\"] [--threads=NUM_THREADS] [--rebuild]\n"
+" [--wimboot]\n"
),
[CMD_EXTRACT] =
T(
" [--check] [--ref=\"GLOB\"] [--dest-dir=CMD_DIR]\n"
" [--to-stdout] [--no-acls] [--strict-acls]\n"
" [--no-attributes] [--include-invalid-names]\n"
-" [--no-wildcards] [--nullglob] [--preserve-dir-structure]\n"
+" [--no-globs] [--nullglob] [--preserve-dir-structure]\n"
),
[CMD_INFO] =
T(