diff options
Diffstat (limited to 'net/src/lib.rs')
-rw-r--r-- | net/src/lib.rs | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/net/src/lib.rs b/net/src/lib.rs index 95216126..2619069b 100644 --- a/net/src/lib.rs +++ b/net/src/lib.rs @@ -217,19 +217,21 @@ impl KeyServer { Ok(u) => u, }; - let mut armored_blob = vec![]; - { - let mut w = match Writer::new(&mut armored_blob, - Kind::PublicKey, &[]) { - Err(e) => return Box::new(future::err(e.into())), - Ok(w) => w, - }; + let mut w = match Writer::new(Vec::new(), + Kind::PublicKey, &[]) { + Ok(v) => v, + Err(e) => return Box::new(future::err(e.into())), + }; - if let Err(e) = key.serialize(&mut w) { - return Box::new(future::err(e)); - } + if let Err(e) = key.serialize(&mut w) { + return Box::new(future::err(e)); } + let armored_blob = match w.finalize() { + Ok(v) => v, + Err(e) => return Box::new(future::err(e.into())), + }; + // Prepare to send url-encoded data. let mut post_data = b"keytext=".to_vec(); post_data.extend_from_slice(percent_encode(&armored_blob, KEYSERVER_ENCODE_SET) |