diff options
| author | Chris Cole <[email protected]> | 2015-01-03 19:31:14 -0500 |
|---|---|---|
| committer | Chris Cole <[email protected]> | 2015-01-03 19:31:14 -0500 |
| commit | fde7fbd03b0a92c2bf515c8f1fd3609b8b8745e6 (patch) | |
| tree | d2d40563122545c4e24ac7ac387145e5e0886bf4 /src/crypto/symm.rs | |
| parent | Merge branch 'master' of https://github.com/cjcole/rust-openssl (diff) | |
| parent | Release v0.2.11 (diff) | |
| download | rust-openssl-fde7fbd03b0a92c2bf515c8f1fd3609b8b8745e6.tar.xz rust-openssl-fde7fbd03b0a92c2bf515c8f1fd3609b8b8745e6.zip | |
Merge remote-tracking branch 'upstream/master'
Diffstat (limited to 'src/crypto/symm.rs')
| -rw-r--r-- | src/crypto/symm.rs | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/crypto/symm.rs b/src/crypto/symm.rs index 61365f2e..9478bc4a 100644 --- a/src/crypto/symm.rs +++ b/src/crypto/symm.rs @@ -1,15 +1,16 @@ +use std::iter::repeat; use libc::{c_int}; use ffi; -#[deriving(Copy)] +#[derive(Copy)] pub enum Mode { Encrypt, Decrypt, } #[allow(non_camel_case_types)] -#[deriving(Copy)] +#[derive(Copy)] pub enum Type { AES_128_ECB, AES_128_CBC, @@ -109,7 +110,7 @@ impl Crypter { */ pub fn update(&self, data: &[u8]) -> Vec<u8> { unsafe { - let mut res = Vec::from_elem(data.len() + self.blocksize, 0u8); + let mut res = repeat(0u8).take(data.len() + self.blocksize).collect::<Vec<_>>(); let mut reslen = (data.len() + self.blocksize) as u32; ffi::EVP_CipherUpdate( @@ -130,7 +131,7 @@ impl Crypter { */ pub fn finalize(&self) -> Vec<u8> { unsafe { - let mut res = Vec::from_elem(self.blocksize, 0u8); + let mut res = repeat(0u8).take(self.blocksize).collect::<Vec<_>>(); let mut reslen = self.blocksize as c_int; ffi::EVP_CipherFinal(self.ctx, |