diff options
author | Egor Tensin <Egor.Tensin@gmail.com> | 2017-06-20 18:22:00 +0300 |
---|---|---|
committer | Egor Tensin <Egor.Tensin@gmail.com> | 2017-06-22 01:38:49 +0300 |
commit | 06b2428c2afaa36997a9d341bd497d42aa0fef89 (patch) | |
tree | ff83476738222578a19b59419fdbaa79a05156d7 /utils/decrypt_file.cpp | |
parent | README update (diff) | |
download | aes-tools-06b2428c2afaa36997a9d341bd497d42aa0fef89.tar.gz aes-tools-06b2428c2afaa36997a9d341bd497d42aa0fef89.zip |
utils: refactor command-line arguments parsing
+ update usage messages.
Diffstat (limited to 'utils/decrypt_file.cpp')
-rw-r--r-- | utils/decrypt_file.cpp | 32 |
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) { |