mirror of
https://github.com/fmtlib/fmt.git
synced 2024-11-25 19:50:05 +00:00
make plus flag for printf not be ignored for char argument (#1683)
* make plus flag for printf not be ignored for char argument * clarify overwriting of alignment specifiers for printf with char argument
This commit is contained in:
parent
981b517ccf
commit
96c18b26c2
@ -257,7 +257,10 @@ class printf_arg_formatter : public detail::arg_formatter_base<Range> {
|
||||
return (*this)(static_cast<int>(value));
|
||||
fmt_specs.sign = sign::none;
|
||||
fmt_specs.alt = false;
|
||||
fmt_specs.align = align::right;
|
||||
// align::numeric needs to be overwritten here since the '0' flag is
|
||||
// ignored for non-numeric types
|
||||
if (fmt_specs.align == align::none || fmt_specs.align == align::numeric)
|
||||
fmt_specs.align = align::right;
|
||||
return base::operator()(value);
|
||||
} else {
|
||||
return base::operator()(value);
|
||||
|
@ -156,6 +156,10 @@ TEST(PrintfTest, PlusFlag) {
|
||||
TEST(PrintfTest, MinusFlag) {
|
||||
EXPECT_PRINTF("abc ", "%-5s", "abc");
|
||||
EXPECT_PRINTF("abc ", "%0--5s", "abc");
|
||||
|
||||
EXPECT_PRINTF("7 ", "%-5d", 7);
|
||||
EXPECT_PRINTF("97 ", "%-5hhi", 'a');
|
||||
EXPECT_PRINTF("a ", "%-5c", 'a');
|
||||
}
|
||||
|
||||
TEST(PrintfTest, SpaceFlag) {
|
||||
|
Loading…
Reference in New Issue
Block a user