diff options
Diffstat (limited to 'grep-printer/src/util.rs')
-rw-r--r-- | grep-printer/src/util.rs | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/grep-printer/src/util.rs b/grep-printer/src/util.rs index 7a20f3b7..d4a19eb7 100644 --- a/grep-printer/src/util.rs +++ b/grep-printer/src/util.rs @@ -4,7 +4,7 @@ use std::io; use std::path::Path; use std::time; -use bstr::{BStr, BString}; +use bstr::{ByteSlice, ByteVec}; use grep_matcher::{Captures, LineTerminator, Match, Matcher}; use grep_searcher::{ LineIter, @@ -263,12 +263,12 @@ impl<'a> Sunk<'a> { /// portability with a small cost: on Windows, paths that are not valid UTF-16 /// will not roundtrip correctly. #[derive(Clone, Debug)] -pub struct PrinterPath<'a>(Cow<'a, BStr>); +pub struct PrinterPath<'a>(Cow<'a, [u8]>); impl<'a> PrinterPath<'a> { /// Create a new path suitable for printing. pub fn new(path: &'a Path) -> PrinterPath<'a> { - PrinterPath(BString::from_path_lossy(path)) + PrinterPath(Vec::from_path_lossy(path)) } /// Create a new printer path from the given path which can be efficiently @@ -289,7 +289,7 @@ impl<'a> PrinterPath<'a> { /// path separators that are both replaced by `new_sep`. In all other /// environments, only `/` is treated as a path separator. fn replace_separator(&mut self, new_sep: u8) { - let transformed_path: BString = self.0.bytes().map(|b| { + let transformed_path: Vec<u8> = self.0.bytes().map(|b| { if b == b'/' || (cfg!(windows) && b == b'\\') { new_sep } else { @@ -301,7 +301,7 @@ impl<'a> PrinterPath<'a> { /// Return the raw bytes for this path. pub fn as_bytes(&self) -> &[u8] { - self.0.as_bytes() + &self.0 } } |