diff options
author | Nora Widdecke <nora@sequoia-pgp.org> | 2022-06-29 19:05:11 +0200 |
---|---|---|
committer | Nora Widdecke <nora@sequoia-pgp.org> | 2022-06-29 19:19:28 +0200 |
commit | 56ad63f1b12f41ec38eddf2a2e8131a66a2e22fa (patch) | |
tree | b11183242b15874979b7c137273f38783a40d993 /sq | |
parent | 51facecb580cd536313ded0cb0a108fa73cb3bf2 (diff) |
sq: Adapt packet decrypt to clap3's derive API.
Diffstat (limited to 'sq')
-rw-r--r-- | sq/src/sq.rs | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/sq/src/sq.rs b/sq/src/sq.rs index e569589d..108a47f6 100644 --- a/sq/src/sq.rs +++ b/sq/src/sq.rs @@ -683,18 +683,23 @@ fn main() -> Result<()> { }, Some(("decrypt", m)) => { - let mut input = open_or_stdin(m.value_of("input"))?; - let mut output = - config.create_or_stdout_pgp(m.value_of("output"), - m.is_present("binary"), - armor::Kind::Message)?; - let secrets = m.values_of("secret-key-file") - .map(load_keys) - .unwrap_or_else(|| Ok(vec![]))?; + use clap::FromArgMatches; + let command = sq_cli::PacketDecryptCommand::from_arg_matches(m)?; + + let mut input = open_or_stdin(command.io.input.as_deref())?; + let mut output = config.create_or_stdout_pgp( + command.io.output.as_deref(), + command.binary, + armor::Kind::Message, + )?; + + let secrets = + load_keys(command.secret_key_file.iter().map(|s| s.as_ref()))?; commands::decrypt::decrypt_unwrap( config, &mut input, &mut output, - secrets, m.is_present("dump-session-key"))?; + secrets, + command.dump_session_key)?; output.finalize()?; }, |