about summary refs log tree commit diff
diff options
context:
space:
mode:
authorErick Tryzelaar <erick.tryzelaar@gmail.com>2013-08-06 21:08:39 -0700
committerErick Tryzelaar <erick.tryzelaar@gmail.com>2013-08-07 14:06:50 -0700
commitd6257b315be2a18ccb3a28c48a73b1619ab57df4 (patch)
tree8c259d0ac445d08b987079a914e8b1dc1a47db6c
parente053bff5d0c83a5b36afcaf4c58a40a27162ec0f (diff)
downloadrust-d6257b315be2a18ccb3a28c48a73b1619ab57df4.tar.gz
rust-d6257b315be2a18ccb3a28c48a73b1619ab57df4.zip
std: remove unnecessary test from c_str.drop and use safer transmute
-rw-r--r--src/libstd/c_str.rs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/libstd/c_str.rs b/src/libstd/c_str.rs
index 25c6d4379fa..fef16581c02 100644
--- a/src/libstd/c_str.rs
+++ b/src/libstd/c_str.rs
@@ -57,7 +57,7 @@ impl CString {
     /// Fails if the CString is null.
     pub fn with_mut_ref<T>(&mut self, f: &fn(*mut libc::c_char) -> T) -> T {
         if self.buf.is_null() { fail!("CString is null!"); }
-        f(unsafe { cast::transmute(self.buf) })
+        f(unsafe { cast::transmute_mut_unsafe(self.buf) })
     }
 
     /// Returns true if the CString is a null.
@@ -99,7 +99,7 @@ impl CString {
 
 impl Drop for CString {
     fn drop(&self) {
-        if self.owns_buffer_ && self.buf.is_not_null() {
+        if self.owns_buffer_ {
             unsafe {
                 libc::free(self.buf as *libc::c_void)
             }