mirror of
https://github.com/uutils/coreutils.git
synced 2026-06-10 15:48:22 -07:00
format: %c prints the first character of a string
This commit is contained in:
@@ -41,14 +41,7 @@ impl<'a, T: Iterator<Item = &'a FormatArgument>> ArgumentIter<'a> for T {
|
||||
match next {
|
||||
FormatArgument::Char(c) => *c,
|
||||
FormatArgument::Unparsed(s) => {
|
||||
let mut chars = s.chars();
|
||||
let Some(c) = chars.next() else {
|
||||
return '\0';
|
||||
};
|
||||
let None = chars.next() else {
|
||||
return '\0';
|
||||
};
|
||||
c
|
||||
s.chars().next().unwrap_or('\0')
|
||||
}
|
||||
_ => '\0',
|
||||
}
|
||||
|
||||
@@ -162,6 +162,14 @@ fn sub_char() {
|
||||
.stdout_only("the letter A");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sub_char_from_string() {
|
||||
new_ucmd!()
|
||||
.args(&["%c%c%c", "five", "%", "oval"])
|
||||
.succeeds()
|
||||
.stdout_only("f%o");
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn sub_num_int() {
|
||||
new_ucmd!()
|
||||
|
||||
Reference in New Issue
Block a user