message: Fix parsing empty C string.
diff: @@ -11,7 +11,7 @@ pub struct CStringUtils {}
  impl CStringUtils {
  pub fn c_str_to_string(cstr: *const c_char) -> Result<Option<String>, Utf8Error> {
  if cstr.is_null() {
  - return Ok(None)
  + return Ok(None);
  }
  unsafe {
  @@ -31,8 +31,7 @@ macro_rules! check_useful_c_str {
  ($x:ident, $e:expr) => {
  let $x = match CStringUtils::c_str_to_string($x) {
  Ok(Some(val)) => val,
  - Ok(None) => return $e,
  - Err(_) => return $e
  + _ => return $e,
  };
  if $x.is_empty() {
  @@ -44,8 +43,7 @@ macro_rules! check_useful_c_str {
  macro_rules! check_useful_opt_c_str {
  ($x:ident, $e:expr) => {
  let $x = match CStringUtils::c_str_to_string($x) {
  - Ok(Some(val)) => if val.is_empty() { None } else { Some(val) },
  - Ok(None) => None,
  + Ok(opt_val) => opt_val,
  Err(_) => return $e
  };
  }
  