diff options
Diffstat (limited to 'src/agent.rs')
-rw-r--r-- | src/agent.rs | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/agent.rs b/src/agent.rs index 0083443..3303b1a 100644 --- a/src/agent.rs +++ b/src/agent.rs @@ -1,6 +1,6 @@ +use std::c_str::ToCStr; use std::kinds::marker; -use std::mem; -use std::raw as stdraw; +use std::slice; use std::str; use {raw, Session, Error}; @@ -120,10 +120,8 @@ impl<'agent> PublicKey<'agent> { /// Return the data of this public key. pub fn blob(&self) -> &[u8] { unsafe { - mem::transmute(stdraw::Slice { - data: (*self.raw).blob as *const u8, - len: (*self.raw).blob_len as uint, - }) + slice::from_raw_mut_buf(&(*self.raw).blob, + (*self.raw).blob_len as uint) } } |