aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/database.rs8
-rw-r--r--src/lib.rs2
-rw-r--r--src/utils.rs6
3 files changed, 9 insertions, 7 deletions
diff --git a/src/database.rs b/src/database.rs
index 9e0c001..6b0542d 100644
--- a/src/database.rs
+++ b/src/database.rs
@@ -25,7 +25,7 @@ pub struct Database(*mut ffi::notmuch_database_t);
impl Database {
pub fn create<P: AsRef<path::Path>>(path: &P) -> Result<Database> {
- let path = path.as_ref().to_cstring().unwrap();
+ let path = path.to_cstring().unwrap();
let mut db = ptr::null_mut();
try!(unsafe {
@@ -36,7 +36,7 @@ impl Database {
}
pub fn open<P: AsRef<path::Path>>(path: &P, mode: Mode) -> Result<Database> {
- let path = path.as_ref().to_cstring().unwrap();
+ let path = path.to_cstring().unwrap();
let mut db = ptr::null_mut();
try!(unsafe {
@@ -82,9 +82,9 @@ impl Database {
}
}
- let path = path.as_ref().to_cstring().unwrap();
+ let path = path.to_cstring().unwrap();
let backup_path = backup_path.map(|p| {
- p.as_ref().to_cstring().unwrap()
+ p.to_cstring().unwrap()
});
try!(unsafe {
diff --git a/src/lib.rs b/src/lib.rs
index 91c4c5f..265589e 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -1,4 +1,4 @@
-#![feature(convert, core, libc, std_misc, unsafe_destructor)]
+#![feature(convert, core, libc, unsafe_destructor)]
extern crate libc;
#[macro_use]
diff --git a/src/utils.rs b/src/utils.rs
index 75a5788..ec5b5b3 100644
--- a/src/utils.rs
+++ b/src/utils.rs
@@ -1,5 +1,6 @@
use std::{
ffi,
+ path,
str,
};
@@ -18,9 +19,10 @@ pub trait ToCString {
fn to_cstring(&self) -> Result<ffi::CString, ffi::NulError>;
}
-impl<T: ffi::AsOsStr> ToCString for T {
+impl<T: AsRef<path::Path>> ToCString for T {
fn to_cstring(&self) -> Result<ffi::CString, ffi::NulError> {
- self.as_os_str().to_cstring()
+ let path: &ffi::OsStr = self.as_ref().as_ref();
+ path.to_cstring()
}
}