diff --git a/src/feature/xattr.rs b/src/feature/xattr.rs index 8d940b9..8682087 100644 --- a/src/feature/xattr.rs +++ b/src/feature/xattr.rs @@ -3,7 +3,7 @@ extern crate libc; use std::io; use std::path::Path; - +use std::ffi::CString; pub const ENABLED: bool = cfg!(feature="git") && cfg!(any(target_os="macos", target_os="linux")); @@ -51,7 +51,7 @@ pub struct Attribute { #[cfg(any(target_os = "macos", target_os = "linux"))] pub fn list_attrs(lister: lister::Lister, path: &Path) -> io::Result> { - let c_path = match path.as_os_str().to_cstring() { + let c_path = match path.to_str().and_then(|s| { CString::new(s).ok() }) { Some(cstring) => cstring, None => return Err(io::Error::new(io::ErrorKind::Other, "Error: path somehow contained a NUL?")), }; diff --git a/src/main.rs b/src/main.rs index 56e8389..66bd552 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,3 @@ -#![feature(convert)] - #![warn(trivial_casts, trivial_numeric_casts)] #![warn(unused_extern_crates, unused_qualifications)] #![warn(unused_results)]