From f42d5b847027ba4c12890d389c39bc07c8ab36d6 Mon Sep 17 00:00:00 2001 From: Evgenii Lepikhin Date: Fri, 8 Nov 2019 20:25:25 +0300 Subject: [PATCH 1/2] Implement trait std::error::Error for Error --- src/lib.rs | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index 970be08..ee81148 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -26,6 +26,12 @@ impl std::fmt::Display for Error { } } +impl std::error::Error for Error { + fn description(&self) -> &str { + "LXC error" + } +} + pub type Result = std::result::Result; /** From 55c53e3efdf736fbaba5c92aa9e1977620f4852b Mon Sep 17 00:00:00 2001 From: Evgenii Lepikhin Date: Fri, 8 Nov 2019 21:01:00 +0300 Subject: [PATCH 2/2] [Bugfix] Function generated invalid ptr --- src/ffi.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/ffi.rs b/src/ffi.rs index abca415..64179cd 100644 --- a/src/ffi.rs +++ b/src/ffi.rs @@ -15,6 +15,8 @@ pub fn to_mut_cstr(s: &str) -> *mut c_char { let mut c_chars: Vec = bytes.iter().map(|b| *b as c_char).collect(); + std::mem::forget(bytes); + c_chars.as_mut_ptr() }