summaryrefslogtreecommitdiff
path: root/src/agent.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/agent.rs')
-rw-r--r--src/agent.rs10
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)
}
}