aboutsummaryrefslogtreecommitdiff
path: root/openssl/src/stack.rs
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-11-01 19:25:40 -0700
committerSteven Fackler <[email protected]>2016-11-01 19:25:40 -0700
commitc776534ad4c89a23870aafb83709a25bc558fad0 (patch)
treebc164d57eb8183f321ff766abc3ab12c3aea4ae1 /openssl/src/stack.rs
parentClean up stack destructor (diff)
downloadrust-openssl-c776534ad4c89a23870aafb83709a25bc558fad0.tar.xz
rust-openssl-c776534ad4c89a23870aafb83709a25bc558fad0.zip
Clean up stack
Diffstat (limited to 'openssl/src/stack.rs')
-rw-r--r--openssl/src/stack.rs28
1 files changed, 6 insertions, 22 deletions
diff --git a/openssl/src/stack.rs b/openssl/src/stack.rs
index bb1ddfda..e48ebe77 100644
--- a/openssl/src/stack.rs
+++ b/openssl/src/stack.rs
@@ -2,17 +2,16 @@ use std::ops::{Deref, DerefMut, Index, IndexMut};
use std::iter;
use std::borrow::Borrow;
use std::convert::AsRef;
-
-#[cfg(ossl110)]
use libc::c_int;
use ffi;
use types::{OpenSslType, Ref};
#[cfg(ossl10x)]
-use ffi::{sk_pop as OPENSSL_sk_pop, sk_free as OPENSSL_sk_free};
+use ffi::{sk_pop as OPENSSL_sk_pop,sk_free as OPENSSL_sk_free, sk_num as OPENSSL_sk_num,
+ sk_value as OPENSSL_sk_value};
#[cfg(ossl110)]
-use ffi::{OPENSSL_sk_pop, OPENSSL_sk_free};
+use ffi::{OPENSSL_sk_pop, OPENSSL_sk_free, OPENSSL_sk_num, OPENSSL_sk_value};
/// Trait implemented by types which can be placed in a stack.
///
@@ -117,17 +116,7 @@ impl<T: Stackable> Ref<Stack<T>> {
/// Returns the number of items in the stack
pub fn len(&self) -> usize {
- self._len()
- }
-
- #[cfg(ossl10x)]
- fn _len(&self) -> usize {
- unsafe { (*self.as_stack()).num as usize }
- }
-
- #[cfg(ossl110)]
- fn _len(&self) -> usize {
- unsafe { ffi::OPENSSL_sk_num(self.as_stack()) as usize }
+ unsafe { OPENSSL_sk_num(self.as_stack()) as usize }
}
pub fn iter(&self) -> Iter<T> {
@@ -176,14 +165,9 @@ impl<T: Stackable> Ref<Stack<T>> {
}
}
- #[cfg(ossl10x)]
- unsafe fn _get(&self, idx: usize) -> *mut T::CType {
- *(*self.as_stack()).data.offset(idx as isize) as *mut _
- }
-
- #[cfg(ossl110)]
unsafe fn _get(&self, idx: usize) -> *mut T::CType {
- ffi::OPENSSL_sk_value(self.as_stack(), idx as c_int) as *mut _
+ assert!(idx <= c_int::max_value() as usize);
+ OPENSSL_sk_value(self.as_stack(), idx as c_int) as *mut _
}
}