diff options
Diffstat (limited to 'tvix/nix-compat/src/derivation')
-rw-r--r-- | tvix/nix-compat/src/derivation/escape.rs | 10 | ||||
-rw-r--r-- | tvix/nix-compat/src/derivation/write.rs | 4 |
2 files changed, 7 insertions, 7 deletions
diff --git a/tvix/nix-compat/src/derivation/escape.rs b/tvix/nix-compat/src/derivation/escape.rs index 8c2c6fce0753..06b550bbf02d 100644 --- a/tvix/nix-compat/src/derivation/escape.rs +++ b/tvix/nix-compat/src/derivation/escape.rs @@ -1,7 +1,7 @@ -use bstr::{BString, ByteSlice}; +use bstr::ByteSlice; /// Escapes a byte sequence. Does not add surrounding quotes. -pub fn escape_bstr<P: AsRef<[u8]>>(s: P) -> BString { +pub fn escape_bytes<P: AsRef<[u8]>>(s: P) -> Vec<u8> { let mut s: Vec<u8> = s.as_ref().to_vec(); s = s.replace(b"\\", b"\\\\"); @@ -10,18 +10,18 @@ pub fn escape_bstr<P: AsRef<[u8]>>(s: P) -> BString { s = s.replace(b"\t", b"\\t"); s = s.replace(b"\"", b"\\\""); - s.into() + s } #[cfg(test)] mod tests { - use super::escape_bstr; + use super::escape_bytes; use test_case::test_case; #[test_case(b"", b""; "empty")] #[test_case(b"\"", b"\\\""; "doublequote")] #[test_case(b":", b":"; "colon")] fn escape(input: &[u8], expected: &[u8]) { - assert_eq!(expected, escape_bstr(input)) + assert_eq!(expected, escape_bytes(input)) } } diff --git a/tvix/nix-compat/src/derivation/write.rs b/tvix/nix-compat/src/derivation/write.rs index d84992a3cbc4..538183ac6513 100644 --- a/tvix/nix-compat/src/derivation/write.rs +++ b/tvix/nix-compat/src/derivation/write.rs @@ -3,7 +3,7 @@ //! //! [ATerm]: http://program-transformation.org/Tools/ATermFormat.html -use crate::derivation::escape::escape_bstr; +use crate::derivation::escape::escape_bytes; use crate::derivation::output::Output; use bstr::BString; use std::{ @@ -42,7 +42,7 @@ pub(crate) fn write_field<S: AsRef<[u8]>>( if !escape { writer.write_all(s.as_ref())?; } else { - writer.write_all(&escape_bstr(s.as_ref()))?; + writer.write_all(&escape_bytes(s.as_ref()))?; } write_char(writer, QUOTE)?; |