From 8beb1b38d8ce89cda07b8a5a00978328af853052 Mon Sep 17 00:00:00 2001 From: gtuk Date: Mon, 3 Apr 2017 22:11:49 +0200 Subject: [PATCH] Add overwrite flag --- guetzli/guetzli.cc | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/guetzli/guetzli.cc b/guetzli/guetzli.cc index 5f78b30b..0e73a8d2 100644 --- a/guetzli/guetzli.cc +++ b/guetzli/guetzli.cc @@ -218,6 +218,7 @@ void Usage() { "\n" "Flags:\n" " --verbose - Print a verbose trace of all attempts to standard output.\n" + " --overwrite - Overwrite target file even if it exists.\n" " --quality Q - Visual quality to aim for, expressed as a JPEG quality value.\n" " Default value is %d.\n" " --memlimit M - Memory limit in MB. Guetzli will fail if unable to stay under\n" @@ -232,6 +233,7 @@ int main(int argc, char** argv) { std::set_terminate(TerminateHandler); int verbose = 0; + int overwrite = 0; int quality = kDefaultJPEGQuality; int memlimit_mb = kDefaultMemlimitMB; @@ -253,6 +255,8 @@ int main(int argc, char** argv) { memlimit_mb = atoi(argv[opt_idx]); } else if (!strcmp(argv[opt_idx], "--nomemlimit")) { memlimit_mb = -1; + } else if (!strcmp(argv[opt_idx], "--override")) { + overwrite = 1; } else if (!strcmp(argv[opt_idx], "--")) { opt_idx++; break; @@ -262,7 +266,7 @@ int main(int argc, char** argv) { } } - if (argc - opt_idx != 2) { + if (argc - opt_idx != 2 && !overwrite) { Usage(); } @@ -279,6 +283,12 @@ int main(int argc, char** argv) { stats.debug_output_file = stderr; } + char* out_file = argv[opt_idx + 1]; + + if (overwrite) { + out_file = argv[opt_idx]; + } + static const unsigned char kPNGMagicBytes[] = { 0x89, 'P', 'N', 'G', '\r', '\n', 0x1a, '\n', }; @@ -320,6 +330,6 @@ int main(int argc, char** argv) { } } - WriteFileOrDie(argv[opt_idx + 1], out_data); + WriteFileOrDie(out_file, out_data); return 0; }