Try to borrow a `&str` from `ptr`, given that `ptr` may be null or refer to ill-formed UTF-8. Give the result a lifetime as if it were borrowed from `_owner`. Safety: if `ptr` is non-null, it must point to a null-terminated C string that is safe to access for at least as long as the lifetime of `_owner`.
(_owner: &T, ptr: *const c_char)