Skip to content

Commit

Permalink
ffi::c_str smaller as_bytes
Browse files Browse the repository at this point in the history
  • Loading branch information
klensy committed Mar 29, 2021
1 parent 84542d2 commit a0ff461
Showing 1 changed file with 4 additions and 2 deletions.
6 changes: 4 additions & 2 deletions library/std/src/ffi/c_str.rs
Original file line number Diff line number Diff line change
Expand Up @@ -613,7 +613,8 @@ impl CString {
#[inline]
#[stable(feature = "rust1", since = "1.0.0")]
pub fn as_bytes(&self) -> &[u8] {
&self.inner[..self.inner.len() - 1]
// SAFETY: CString has a length at least 1
unsafe { self.inner.get_unchecked(..self.inner.len() - 1) }
}

/// Equivalent to [`CString::as_bytes()`] except that the
Expand Down Expand Up @@ -1322,7 +1323,8 @@ impl CStr {
#[stable(feature = "rust1", since = "1.0.0")]
pub fn to_bytes(&self) -> &[u8] {
let bytes = self.to_bytes_with_nul();
&bytes[..bytes.len() - 1]
// SAFETY: to_bytes_with_nul returns slice with length at least 1
unsafe { bytes.get_unchecked(..bytes.len() - 1) }
}

/// Converts this C string to a byte slice containing the trailing 0 byte.
Expand Down

0 comments on commit a0ff461

Please sign in to comment.