diff options
author | Corey Farwell <coreyf@rwell.org> | 2018-06-24 08:58:26 -0400 |
---|---|---|
committer | Corey Farwell <coreyf@rwell.org> | 2018-06-24 08:58:26 -0400 |
commit | 7e9c37f9cb33d937a664dec83ee28da447a41aa6 (patch) | |
tree | 4b64d74c5d271896367fc8e6b051ce1f05cebc2e /src | |
parent | eb784aa9eaced1adb436d752ccdbeb2ff19c9e23 (diff) | |
download | tor-7e9c37f9cb33d937a664dec83ee28da447a41aa6.tar.gz tor-7e9c37f9cb33d937a664dec83ee28da447a41aa6.zip |
Change `allocate_and_copy_string` to take a `&str` instead of `&String`.
Diffstat (limited to 'src')
-rw-r--r-- | src/rust/protover/ffi.rs | 3 | ||||
-rw-r--r-- | src/rust/tor_allocate/tor_allocate.rs | 12 |
2 files changed, 6 insertions, 9 deletions
diff --git a/src/rust/protover/ffi.rs b/src/rust/protover/ffi.rs index cd49e5f931..0470cd487a 100644 --- a/src/rust/protover/ffi.rs +++ b/src/rust/protover/ffi.rs @@ -198,8 +198,7 @@ pub extern "C" fn protover_compute_vote( ) -> *mut c_char { if list.is_null() { - let empty = String::new(); - return allocate_and_copy_string(&empty); + return allocate_and_copy_string(""); } // Dereference of raw pointer requires an unsafe block. The pointer is diff --git a/src/rust/tor_allocate/tor_allocate.rs b/src/rust/tor_allocate/tor_allocate.rs index 47fa5fc593..d0c0d79943 100644 --- a/src/rust/tor_allocate/tor_allocate.rs +++ b/src/rust/tor_allocate/tor_allocate.rs @@ -9,9 +9,9 @@ use libc::c_void; // Define a no-op implementation for testing Rust modules without linking to C #[cfg(feature = "testing")] -pub fn allocate_and_copy_string(s: &String) -> *mut c_char { +pub fn allocate_and_copy_string(s: &str) -> *mut c_char { use std::ffi::CString; - CString::new(s.as_str()).unwrap().into_raw() + CString::new(s).unwrap().into_raw() } // Defined only for tests, used for testing purposes, so that we don't need @@ -39,7 +39,7 @@ extern "C" { /// A `*mut c_char` that should be freed by tor_free in C /// #[cfg(not(feature = "testing"))] -pub fn allocate_and_copy_string(src: &String) -> *mut c_char { +pub fn allocate_and_copy_string(src: &str) -> *mut c_char { let bytes: &[u8] = src.as_bytes(); let size = mem::size_of_val::<[u8]>(bytes); @@ -77,8 +77,7 @@ mod test { use tor_allocate::allocate_and_copy_string; - let empty = String::new(); - let allocated_empty = allocate_and_copy_string(&empty); + let allocated_empty = allocate_and_copy_string(""); let allocated_empty_rust = unsafe { CStr::from_ptr(allocated_empty).to_str().unwrap() }; @@ -95,8 +94,7 @@ mod test { use tor_allocate::allocate_and_copy_string; - let empty = String::from("foo bar biz"); - let allocated_empty = allocate_and_copy_string(&empty); + let allocated_empty = allocate_and_copy_string("foo bar biz"); let allocated_empty_rust = unsafe { CStr::from_ptr(allocated_empty).to_str().unwrap() }; |