diff options
Diffstat (limited to 'src/utils.rs')
| -rw-r--r-- | src/utils.rs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/utils.rs b/src/utils.rs index ad8bcac..7e17ab9 100644 --- a/src/utils.rs +++ b/src/utils.rs @@ -3,6 +3,8 @@ use std::{ str, }; +use std::os::unix::ffi::OsStrExt; + use libc; pub trait NotmuchEnum { @@ -12,6 +14,16 @@ pub trait NotmuchEnum { fn to_notmuch_t(self) -> Self::NotmuchT; } +pub trait ToCString { + fn to_cstring(&self) -> Result<ffi::CString, ffi::NulError>; +} + +impl<T: ffi::AsOsStr> ToCString for T { + fn to_cstring(&self) -> Result<ffi::CString, ffi::NulError> { + self.as_os_str().to_cstring() + } +} + pub trait ToStr { fn to_str(&self) -> Result<&str, str::Utf8Error>; } |
