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:
parent
246f66a905
commit
bcf780e2ba
1 changed files with 3 additions and 1 deletions
|
@ -125,7 +125,9 @@ pub fn error_string(errno: i32) -> String {
|
|||
}
|
||||
|
||||
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()
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue