mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-25 16:24:46 +00:00
Fix SmallCStr conversion from CStr
This commit is contained in:
parent
ee9c7c940c
commit
217e5e484d
@ -82,6 +82,6 @@ impl<'a> FromIterator<&'a str> for SmallCStr {
|
||||
|
||||
impl From<&ffi::CStr> for SmallCStr {
|
||||
fn from(s: &ffi::CStr) -> Self {
|
||||
Self { data: SmallVec::from_slice(s.to_bytes()) }
|
||||
Self { data: SmallVec::from_slice(s.to_bytes_with_nul()) }
|
||||
}
|
||||
}
|
||||
|
@ -43,3 +43,11 @@ fn long() {
|
||||
fn internal_nul() {
|
||||
let _ = SmallCStr::new("abcd\0def");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn from_cstr() {
|
||||
let c = c"foo";
|
||||
let s: SmallCStr = c.into();
|
||||
assert_eq!(s.len_with_nul(), 4);
|
||||
assert_eq!(s.as_c_str(), c"foo");
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user