]> wimlib.net Git - wimlib/blobdiff - programs/imagex.c
Tweak progress messages
[wimlib] / programs / imagex.c
index ce5ac8d5b947e9e515ec07ec190ca6957470ebca..5f2bd7b59c1bd141524ce39905435398859296a2 100644 (file)
@@ -119,7 +119,6 @@ static FILE *imagex_info_file;
 enum {
        IMAGEX_ALLOW_OTHER_OPTION,
        IMAGEX_BOOT_OPTION,
-       IMAGEX_CASE_INSENSITIVE_WILDCARDS_OPTION,
        IMAGEX_CHECK_OPTION,
        IMAGEX_CHUNK_SIZE_OPTION,
        IMAGEX_COMMAND_OPTION,
@@ -257,7 +256,6 @@ static const struct option extract_options[] = {
        {T("include-invalid-names"), no_argument, NULL, IMAGEX_INCLUDE_INVALID_NAMES_OPTION},
        {T("strict-wildcards"), no_argument,  NULL, IMAGEX_STRICT_WILDCARDS_OPTION},
        {T("no-wildcards"), no_argument,      NULL, IMAGEX_NO_WILDCARDS_OPTION},
-       {T("case-insensitive-wildcards"), no_argument, NULL, IMAGEX_CASE_INSENSITIVE_WILDCARDS_OPTION},
        {NULL, 0, NULL, 0},
 };
 
@@ -1081,7 +1079,7 @@ report_scan_progress(const struct wimlib_progress_info_scan *scan, bool done)
 
                unit_shift = get_unit(scan->num_bytes_scanned, &unit_name);
                imagex_printf(T("\r%"PRIu64" %"TS" scanned (%"PRIu64" files, "
-                               "%"PRIu64" directories)"),
+                               "%"PRIu64" directories)    "),
                              scan->num_bytes_scanned >> unit_shift,
                              unit_name,
                              scan->num_nondirs_scanned,
@@ -1207,14 +1205,17 @@ imagex_progress_func(enum wimlib_progress_msg msg,
                        info->extract.target);
                break;
        case WIMLIB_PROGRESS_MSG_EXTRACT_TREE_BEGIN:
-               imagex_printf(T("Extracting "
-                         "\""WIMLIB_WIM_PATH_SEPARATOR_STRING"%"TS"\" from image %d (\"%"TS"\") "
-                         "in \"%"TS"\" to \"%"TS"\"\n"),
-                       info->extract.extract_root_wim_source_path,
-                       info->extract.image,
-                       info->extract.image_name,
-                       info->extract.wimfile_name,
-                       info->extract.target);
+               if (info->extract.extract_root_wim_source_path[0] != T('\0')) {
+                       imagex_printf(T("Extracting "
+                                 "\""WIMLIB_WIM_PATH_SEPARATOR_STRING"%"TS"\" "
+                                 "from image %d (\"%"TS"\") "
+                                 "in \"%"TS"\" to \"%"TS"\"\n"),
+                               info->extract.extract_root_wim_source_path,
+                               info->extract.image,
+                               info->extract.image_name,
+                               info->extract.wimfile_name,
+                               info->extract.target);
+               }
                break;
        case WIMLIB_PROGRESS_MSG_EXTRACT_STREAMS:
                percent_done = TO_PERCENT(info->extract.completed_bytes,
@@ -2750,9 +2751,6 @@ imagex_extract(int argc, tchar **argv, int cmd)
                case IMAGEX_NO_WILDCARDS_OPTION:
                        listfile_extract_flags &= ~WIMLIB_EXTRACT_FLAG_GLOB_PATHS;
                        break;
-               case IMAGEX_CASE_INSENSITIVE_WILDCARDS_OPTION:
-                       listfile_extract_flags |= WIMLIB_EXTRACT_FLAG_CASE_INSENSITIVE_GLOB;
-                       break;
                case IMAGEX_STRICT_WILDCARDS_OPTION:
                        listfile_extract_flags |= WIMLIB_EXTRACT_FLAG_STRICT_GLOB;
                        break;
@@ -3886,7 +3884,7 @@ T(
 ),
 [CMD_EXTRACT] =
 T(
-"    %"TS" WIMFILE (IMAGE_NUM | IMAGE_NAME) [PATH...]\n"
+"    %"TS" WIMFILE (IMAGE_NUM | IMAGE_NAME) ([PATH...] | @LISTFILE)\n"
 "                    [--check] [--ref=\"GLOB\"] [--no-acls] [--strict-acls]\n"
 "                    [--to-stdout] [--dest-dir=CMD_DIR]\n"
 "                    [--include-invalid-names]\n"
@@ -4091,8 +4089,26 @@ main(int argc, char **argv)
 
                }
        }
+
 #endif /* !__WIN32__ */
 
+       {
+               tchar *igcase = tgetenv(T("WIMLIB_IMAGEX_IGNORE_CASE"));
+               if (igcase != NULL) {
+                       if (!tstrcmp(igcase, T("no")) ||
+                           !tstrcmp(igcase, T("0")))
+                               init_flags |= WIMLIB_INIT_FLAG_DEFAULT_CASE_SENSITIVE;
+                       else if (!tstrcmp(igcase, T("yes")) ||
+                                !tstrcmp(igcase, T("1")))
+                               init_flags |= WIMLIB_INIT_FLAG_DEFAULT_CASE_INSENSITIVE;
+                       else {
+                               fprintf(stderr,
+                                       "WARNING: Ignoring unknown setting of "
+                                       "WIMLIB_IMAGEX_IGNORE_CASE\n");
+                       }
+               }
+       }
+
        /* Allow being invoked as wimCOMMAND (e.g. wimapply).  */
        cmd = CMD_NONE;
        if (!tstrncmp(invocation_name, T("wim"), 3) &&