Skip to content

Commit

Permalink
inner truncate methods for UEFI platforms
Browse files Browse the repository at this point in the history
  • Loading branch information
Borgerr committed Jun 23, 2024
1 parent b6a3a24 commit 7ba3b05
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 3 deletions.
5 changes: 5 additions & 0 deletions library/std/src/ffi/os_str.rs
Original file line number Diff line number Diff line change
Expand Up @@ -557,6 +557,11 @@ impl OsString {
pub(crate) fn as_mut_vec_for_path_buf(&mut self) -> &mut Vec<u8> {
self.inner.as_mut_vec_for_path_buf()
}

#[inline]
pub(crate) fn truncate(&mut self, len: usize) {
self.inner.truncate(len);
}
}

#[stable(feature = "rust1", since = "1.0.0")]
Expand Down
6 changes: 3 additions & 3 deletions library/std/src/path.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1305,7 +1305,7 @@ impl PathBuf {

// absolute `path` replaces `self`
if path.is_absolute() || path.prefix().is_some() {
self.as_mut_vec().truncate(0);
self.inner.truncate(0);

// verbatim paths need . and .. removed
} else if comps.prefix_verbatim() && !path.inner.is_empty() {
Expand Down Expand Up @@ -1350,7 +1350,7 @@ impl PathBuf {
// `path` has a root but no prefix, e.g., `\windows` (Windows only)
} else if path.has_root() {
let prefix_len = self.components().prefix_remaining();
self.as_mut_vec().truncate(prefix_len);
self.inner.truncate(prefix_len);

// `path` is a pure relative path
} else if need_sep {
Expand Down Expand Up @@ -1383,7 +1383,7 @@ impl PathBuf {
pub fn pop(&mut self) -> bool {
match self.parent().map(|p| p.as_u8_slice().len()) {
Some(len) => {
self.as_mut_vec().truncate(len);
self.inner.truncate(len);
true
}
None => false,
Expand Down
5 changes: 5 additions & 0 deletions library/std/src/sys/os_str/bytes.rs
Original file line number Diff line number Diff line change
Expand Up @@ -207,6 +207,11 @@ impl Buf {
pub(crate) fn as_mut_vec_for_path_buf(&mut self) -> &mut Vec<u8> {
&mut self.inner
}

#[inline]
pub(crate) fn truncate(&mut self, len: usize) {
self.inner.truncate(len);
}
}

impl Slice {
Expand Down

0 comments on commit 7ba3b05

Please sign in to comment.