From 0108b4724eae27c18ae550fa3dd5bbbbe641d09e Mon Sep 17 00:00:00 2001 From: "B. Petersen" Date: Sat, 19 Oct 2019 11:30:32 +0200 Subject: [PATCH] add function to convert NULL-able c-string to Option --- src/dc_tools.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/dc_tools.rs b/src/dc_tools.rs index 061cf3dc7..6cf4c11de 100644 --- a/src/dc_tools.rs +++ b/src/dc_tools.rs @@ -735,6 +735,14 @@ pub fn to_string_lossy(s: *const libc::c_char) -> String { cstr.to_string_lossy().to_string() } +pub fn to_opt_string_lossy(s: *const libc::c_char) -> Option { + if s.is_null() { + return None; + } + + Some(to_string_lossy(s)) +} + pub fn as_str<'a>(s: *const libc::c_char) -> &'a str { as_str_safe(s).unwrap_or_else(|err| panic!("{}", err)) }