aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/utils/decrypt_file.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'utils/decrypt_file.cpp')
-rw-r--r--utils/decrypt_file.cpp32
1 files changed, 16 insertions, 16 deletions
diff --git a/utils/decrypt_file.cpp b/utils/decrypt_file.cpp
index 644447c..beaabff 100644
--- a/utils/decrypt_file.cpp
+++ b/utils/decrypt_file.cpp
@@ -28,7 +28,7 @@ namespace
file::write_file(plaintext_path, plaintext_buf);
}
- void decrypt_file(const Settings& settings)
+ void decrypt_file(const FileSettings& settings)
{
const auto& algorithm = settings.algorithm;
const auto& mode = settings.mode;
@@ -56,30 +56,30 @@ int main(int argc, char** argv)
{
try
{
- CommandLineParser cmd_parser{argv[0]};
+ FileSettings settings{argv[0]};
+
try
{
- const auto settings = cmd_parser.parse(argc, argv);
-
- if (cmd_parser.exit_with_usage())
- {
- std::cout << cmd_parser;
- return 0;
- }
-
- decrypt_file(settings);
+ settings.parse(argc, argv);
}
catch (const boost::program_options::error& e)
{
- std::cerr << "Usage error: " << e.what() << "\n";
- std::cerr << cmd_parser;
+ settings.usage_error(e);
return 1;
}
- catch (const aes::Error& e)
+
+ if (settings.exit_with_usage)
{
- std::cerr << e;
- return 1;
+ settings.usage();
+ return 0;
}
+
+ decrypt_file(settings);
+ }
+ catch (const aes::Error& e)
+ {
+ std::cerr << e;
+ return 1;
}
catch (const std::exception& e)
{