diff --git a/Cargo.toml b/Cargo.toml index 3091d25..055e93c 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -16,5 +16,5 @@ keywords = ["file", "dialog", "ui"] build = "build.rs" [build-dependencies] -gcc = "0.3" +cc = "1.0.79" diff --git a/build.rs b/build.rs index 5d0e092..942f70f 100644 --- a/build.rs +++ b/build.rs @@ -20,18 +20,18 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -extern crate gcc; +extern crate cc; use std::env; use std::process::Command; macro_rules! nfd { ($suf:expr) => { - concat!("nativefiledialog/src/", $suf); + concat!("nativefiledialog/src/", $suf) }; } fn main() { - let mut cfg = gcc::Config::new(); + let mut cfg = cc::Build::new(); let env = env::var("TARGET").unwrap(); cfg.include(nfd!("include")); diff --git a/src/error.rs b/src/error.rs index 7e53a89..f100341 100644 --- a/src/error.rs +++ b/src/error.rs @@ -20,15 +20,7 @@ impl fmt::Display for NFDError { } } -impl Error for NFDError { - fn description(&self) -> &str { - match *self { - NFDError::NulError(ref err) => err.description(), - NFDError::Error(ref err) => err, - NFDError::Utf8Error(ref err) => err.description(), - } - } -} +impl Error for NFDError {} impl From for NFDError { fn from(err: ffi::NulError) -> NFDError { diff --git a/src/lib.rs b/src/lib.rs index 1ef51e0..0d1ef62 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -118,7 +118,7 @@ pub fn open_dialog(filter_list: Option<&str>, default_path: Option<&str>, dialog let filter_list_ptr = match filter_list { Some(fl_str) => { - filter_list_cstring = try!(CString::new(fl_str)); + filter_list_cstring = CString::new(fl_str)?; filter_list_cstring.as_ptr() } None => std::ptr::null() @@ -126,7 +126,7 @@ pub fn open_dialog(filter_list: Option<&str>, default_path: Option<&str>, dialog let default_path_ptr = match default_path { Some(dp_str) => { - default_path_cstring = try!(CString::new(dp_str)); + default_path_cstring = CString::new(dp_str)?; default_path_cstring.as_ptr() } None => std::ptr::null()