X-Git-Url: https://wimlib.net/git/?a=blobdiff_plain;f=programs%2Fimagex.c;h=7dbbc8a4330addd60c8a1f668d62853996ff4e37;hb=77b2c74599190197074c82937787f24f83ece0af;hp=591714e1684222a5b8f320025a3dfba7fbee7700;hpb=12d47b06960d51e4f254ebbc882b05445c992f1d;p=wimlib diff --git a/programs/imagex.c b/programs/imagex.c index 591714e1..7dbbc8a4 100644 --- a/programs/imagex.c +++ b/programs/imagex.c @@ -22,7 +22,10 @@ * along with this program. If not, see . */ -#include "config.h" +#ifdef HAVE_CONFIG_H +# include "config.h" /* Need for PACKAGE_VERSION, etc. */ +#endif + #include "wimlib.h" #include "wimlib_tchar.h" @@ -40,7 +43,7 @@ #include #ifdef HAVE_ALLOCA_H -#include +# include #endif #ifdef __WIN32__ @@ -80,7 +83,7 @@ enum imagex_op_type { }; static void usage(int cmd_type); -static void usage_all(); +static void usage_all(void); static bool imagex_be_quiet = false; @@ -169,7 +172,7 @@ IMAGEX_PROGNAME" unmount DIRECTORY [--commit] [--check] [--rebuild]\n" ), [UPDATE] = T( -IMAGEX_PROGNAME" update WIMFILE IMAGE [--check] [--rebuild]\n" +IMAGEX_PROGNAME" update WIMFILE [IMAGE_NUM | IMAGE_NAME] [--check] [--rebuild]\n" " [--threads=NUM_THREADS] [DEFAULT_ADD_OPTIONS]\n" " [DEFAULT_DELETE_OPTIONS] < CMDFILE\n" ), @@ -179,14 +182,15 @@ IMAGEX_PROGNAME" update WIMFILE IMAGE [--check] [--rebuild]\n" static void recommend_man_page(const tchar *cmd_name) { + const tchar *format_str; #ifdef __WIN32__ - tprintf(T("See "IMAGEX_PROGNAME"-%"TS".pdf in the " - "doc directory for more details.\n"), - cmd_name); + format_str = T("See "IMAGEX_PROGNAME"%"TS"%"TS".pdf in the " + "doc directory for more details.\n"); #else - tprintf(T("Try `man "IMAGEX_PROGNAME"-%"TS"' " - "for more details.\n"), cmd_name); + format_str = T("Try `man "IMAGEX_PROGNAME"%"TS"%"TS"' " + "for more details.\n"); #endif + tprintf(format_str, *cmd_name ? T("-") : T(""), cmd_name); } enum { @@ -2780,9 +2784,13 @@ imagex_optimize(int argc, tchar **argv) wimfile = argv[0]; + ret = file_writable(wimfile); + if (ret) + return ret; + ret = wimlib_open_wim(wimfile, open_flags, &w, imagex_progress_func); - if (ret != 0) + if (ret) return ret; old_size = file_get_size(argv[0]); @@ -2983,6 +2991,11 @@ imagex_update(int argc, tchar **argv) if (argc < 1 || argc > 2) goto out_usage; wimfile = argv[0]; + + ret = file_writable(wimfile); + if (ret) + goto out; + ret = wimlib_open_wim(wimfile, open_flags, &wim, imagex_progress_func); if (ret) goto out; @@ -3109,7 +3122,7 @@ static const struct imagex_command imagex_commands[] = { }; static void -version() +version(void) { static const tchar *s = T( @@ -3172,7 +3185,7 @@ usage(int cmd_type) } static void -usage_all() +usage_all(void) { tfputs(T("Usage:\n"), stdout); for (int i = 0; i < ARRAY_LEN(usage_strings); i++) @@ -3184,9 +3197,9 @@ usage_all() "\n" " The compression TYPE may be \"maximum\", \"fast\", or \"none\".\n" "\n" -" Try `man "IMAGEX_PROGNAME"' for more information.\n" ); tfputs(extra, stdout); + recommend_man_page(T("")); } /* Entry point for wimlib's ImageX implementation. On UNIX the command