mirror of
https://github.com/RGBCube/uutils-coreutils
synced 2025-07-28 03:27:44 +00:00
Allow echo with escapes to work with \0
Testing with gecho on macos outputs a nul character for a \0
This commit is contained in:
parent
7b3cfcf708
commit
d6a0b3c920
2 changed files with 11 additions and 6 deletions
|
@ -88,10 +88,7 @@ fn print_escaped(input: &str, mut output: impl Write) -> io::Result<bool> {
|
||||||
start = 0;
|
start = 0;
|
||||||
next
|
next
|
||||||
}),
|
}),
|
||||||
'0' => parse_code(&mut iter, 8, 3, 3).unwrap_or_else(|| {
|
'0' => parse_code(&mut iter, 8, 3, 3).unwrap_or('\0'),
|
||||||
start = 0;
|
|
||||||
next
|
|
||||||
}),
|
|
||||||
_ => {
|
_ => {
|
||||||
start = 0;
|
start = 0;
|
||||||
next
|
next
|
||||||
|
|
|
@ -138,11 +138,19 @@ fn test_escape_short_octal() {
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
fn test_escape_no_octal() {
|
fn test_escape_nul() {
|
||||||
new_ucmd!()
|
new_ucmd!()
|
||||||
.args(&["-e", "foo\\0 bar"])
|
.args(&["-e", "foo\\0 bar"])
|
||||||
.succeeds()
|
.succeeds()
|
||||||
.stdout_only("foo\\0 bar\n");
|
.stdout_only("foo\0 bar\n");
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn test_escape_octal_invalid_digit() {
|
||||||
|
new_ucmd!()
|
||||||
|
.args(&["-e", "foo\\08 bar"])
|
||||||
|
.succeeds()
|
||||||
|
.stdout_only("foo\u{0}8 bar\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue