summaryrefslogtreecommitdiffstats
path: root/sq
diff options
context:
space:
mode:
authorNora Widdecke <nora@sequoia-pgp.org>2022-06-29 19:05:11 +0200
committerNora Widdecke <nora@sequoia-pgp.org>2022-06-29 19:19:28 +0200
commit56ad63f1b12f41ec38eddf2a2e8131a66a2e22fa (patch)
treeb11183242b15874979b7c137273f38783a40d993 /sq
parent51facecb580cd536313ded0cb0a108fa73cb3bf2 (diff)
sq: Adapt packet decrypt to clap3's derive API.
Diffstat (limited to 'sq')
-rw-r--r--sq/src/sq.rs23
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()?;
},