Rollup merge of #118956 - danielhuang:patch-2, r=workingjubilee
Make CStr documentation consistent ("nul" instead of "null") "nul" is used in method names and appears more often in the documentation than "null", so make all instances "nul" to keep it consistent.
This commit is contained in:
commit
5e85fece3a
@ -421,7 +421,7 @@ pub unsafe fn from_raw(ptr: *mut c_char) -> CString {
|
|||||||
/// Failure to call [`CString::from_raw`] will lead to a memory leak.
|
/// Failure to call [`CString::from_raw`] will lead to a memory leak.
|
||||||
///
|
///
|
||||||
/// The C side must **not** modify the length of the string (by writing a
|
/// The C side must **not** modify the length of the string (by writing a
|
||||||
/// `null` somewhere inside the string or removing the final one) before
|
/// nul byte somewhere inside the string or removing the final one) before
|
||||||
/// it makes it back into Rust using [`CString::from_raw`]. See the safety section
|
/// it makes it back into Rust using [`CString::from_raw`]. See the safety section
|
||||||
/// in [`CString::from_raw`].
|
/// in [`CString::from_raw`].
|
||||||
///
|
///
|
||||||
@ -797,7 +797,7 @@ fn from(s: Box<CStr>) -> CString {
|
|||||||
#[stable(feature = "cstring_from_vec_of_nonzerou8", since = "1.43.0")]
|
#[stable(feature = "cstring_from_vec_of_nonzerou8", since = "1.43.0")]
|
||||||
impl From<Vec<NonZeroU8>> for CString {
|
impl From<Vec<NonZeroU8>> for CString {
|
||||||
/// Converts a <code>[Vec]<[NonZeroU8]></code> into a [`CString`] without
|
/// Converts a <code>[Vec]<[NonZeroU8]></code> into a [`CString`] without
|
||||||
/// copying nor checking for inner null bytes.
|
/// copying nor checking for inner nul bytes.
|
||||||
#[inline]
|
#[inline]
|
||||||
fn from(v: Vec<NonZeroU8>) -> CString {
|
fn from(v: Vec<NonZeroU8>) -> CString {
|
||||||
unsafe {
|
unsafe {
|
||||||
@ -809,7 +809,7 @@ fn from(v: Vec<NonZeroU8>) -> CString {
|
|||||||
let (ptr, len, cap): (*mut NonZeroU8, _, _) = Vec::into_raw_parts(v);
|
let (ptr, len, cap): (*mut NonZeroU8, _, _) = Vec::into_raw_parts(v);
|
||||||
Vec::from_raw_parts(ptr.cast::<u8>(), len, cap)
|
Vec::from_raw_parts(ptr.cast::<u8>(), len, cap)
|
||||||
};
|
};
|
||||||
// SAFETY: `v` cannot contain null bytes, given the type-level
|
// SAFETY: `v` cannot contain nul bytes, given the type-level
|
||||||
// invariant of `NonZeroU8`.
|
// invariant of `NonZeroU8`.
|
||||||
Self::_from_vec_unchecked(v)
|
Self::_from_vec_unchecked(v)
|
||||||
}
|
}
|
||||||
|
@ -205,7 +205,7 @@ impl CStr {
|
|||||||
/// * The memory pointed to by `ptr` must contain a valid nul terminator at the
|
/// * The memory pointed to by `ptr` must contain a valid nul terminator at the
|
||||||
/// end of the string.
|
/// end of the string.
|
||||||
///
|
///
|
||||||
/// * `ptr` must be [valid] for reads of bytes up to and including the null terminator.
|
/// * `ptr` must be [valid] for reads of bytes up to and including the nul terminator.
|
||||||
/// This means in particular:
|
/// This means in particular:
|
||||||
///
|
///
|
||||||
/// * The entire memory range of this `CStr` must be contained within a single allocated object!
|
/// * The entire memory range of this `CStr` must be contained within a single allocated object!
|
||||||
@ -415,7 +415,7 @@ const fn const_impl(bytes: &[u8]) -> &CStr {
|
|||||||
let mut i = bytes.len().saturating_sub(1);
|
let mut i = bytes.len().saturating_sub(1);
|
||||||
assert!(!bytes.is_empty() && bytes[i] == 0, "input was not nul-terminated");
|
assert!(!bytes.is_empty() && bytes[i] == 0, "input was not nul-terminated");
|
||||||
|
|
||||||
// Ending null byte exists, skip to the rest.
|
// Ending nul byte exists, skip to the rest.
|
||||||
while i != 0 {
|
while i != 0 {
|
||||||
i -= 1;
|
i -= 1;
|
||||||
let byte = bytes[i];
|
let byte = bytes[i];
|
||||||
|
Loading…
Reference in New Issue
Block a user