Recover error strings on Unix from_lossy_utf8
Some language settings can result in unreliable UTF-8 being produced. This can result in failing to emit the error string, panicking instead. from_lossy_utf8 allows us to assume these strings usually will be fine.
This commit is contained in:
@@ -125,7 +125,9 @@ pub fn error_string(errno: i32) -> String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
let p = p as *const _;
|
let p = p as *const _;
|
||||||
str::from_utf8(CStr::from_ptr(p).to_bytes()).unwrap().to_owned()
|
// We can't always expect a UTF-8 environment. When we don't get that luxury,
|
||||||
|
// it's better to give a low-quality error message than none at all.
|
||||||
|
String::from_utf8_lossy(CStr::from_ptr(p).to_bytes()).into()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user