summaryrefslogtreecommitdiffstats
path: root/tool
diff options
context:
space:
mode:
authorJustus Winter <justus@sequoia-pgp.org>2019-11-19 17:32:46 +0100
committerJustus Winter <justus@sequoia-pgp.org>2019-11-19 17:32:46 +0100
commit505f45f8077ac92b4ae5fa6cde88a10a3be15af3 (patch)
tree61146c2790a9f66bfa03ae301dfa1e397cb93c19 /tool
parent1ddc1dd61b45b41801c1d1c364cd6789314cb8f3 (diff)
openpgp: Use the builder pattern for stream::LiteralWriter.
- See #375.
Diffstat (limited to 'tool')
-rw-r--r--tool/src/commands/mod.rs2
-rw-r--r--tool/src/commands/sign.rs14
-rw-r--r--tool/tests/sq-sign.rs2
3 files changed, 12 insertions, 6 deletions
diff --git a/tool/src/commands/mod.rs b/tool/src/commands/mod.rs
index f651756b..3e41b562 100644
--- a/tool/src/commands/mod.rs
+++ b/tool/src/commands/mod.rs
@@ -158,7 +158,7 @@ pub fn encrypt(mapping: &mut store::Mapping,
sink = signer.build()?;
}
- let mut literal_writer = LiteralWriter::new(sink, None, None, None)
+ let mut literal_writer = LiteralWriter::new(sink).build()
.context("Failed to create literal writer")?;
// Finally, copy stdin to our writer stack to encrypt the data.
diff --git a/tool/src/commands/sign.rs b/tool/src/commands/sign.rs
index 51b098b7..59b1a3c1 100644
--- a/tool/src/commands/sign.rs
+++ b/tool/src/commands/sign.rs
@@ -109,7 +109,7 @@ fn sign_data(input: &mut dyn io::Read, output_path: Option<&str>,
signer
} else {
// We want to wrap the data in a literal data packet.
- LiteralWriter::new(signer, None, None, None)
+ LiteralWriter::new(signer).build()
.context("Failed to create literal writer")?
};
@@ -238,9 +238,15 @@ fn sign_message(input: &mut dyn io::Read, output_path: Option<&str>,
};
// Create a literal writer to wrap the data in a literal
// message packet.
- let mut literal =
- LiteralWriter::new(sink, l.format(), l.filename(),
- l.date().map(|d| *d))
+ let mut literal = LiteralWriter::new(sink).format(l.format());
+ if let Some(f) = l.filename() {
+ literal = literal.filename(f)?;
+ }
+ if let Some(d) = l.date() {
+ literal = literal.date(*d)?;
+ }
+
+ let mut literal = literal.build()
.context("Failed to create literal writer")?;
// Finally, just copy all the data.
diff --git a/tool/tests/sq-sign.rs b/tool/tests/sq-sign.rs
index 3a019459..c9122b16 100644
--- a/tool/tests/sq-sign.rs
+++ b/tool/tests/sq-sign.rs
@@ -219,7 +219,7 @@ fn sq_sign_append_on_compress_then_sign() {
let compressor = Compressor::new(signer, CompressionAlgorithm::Uncompressed,
None)
.unwrap();
- let mut literal = LiteralWriter::new(compressor, None, None, None)
+ let mut literal = LiteralWriter::new(compressor).build()
.unwrap();
io::copy(
&mut File::open(&p("messages/a-cypherpunks-manifesto.txt")).unwrap(),