Skip to content

Commit

Permalink
Remove redundant specifier
Browse files Browse the repository at this point in the history
  • Loading branch information
vitaut committed Dec 28, 2023
1 parent 76e8f10 commit 47c8f63
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 6 deletions.
8 changes: 4 additions & 4 deletions include/fmt/std.h
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ template <typename Char> struct formatter<std::filesystem::path, Char> {
format_specs<Char> specs_;
detail::arg_ref<Char> width_ref_;
bool debug_ = false;
char path_type_ = 'n';
char path_type_ = 0;

public:
FMT_CONSTEXPR void set_debug_format(bool set = true) { debug_ = set; }
Expand All @@ -137,17 +137,17 @@ template <typename Char> struct formatter<std::filesystem::path, Char> {
debug_ = true;
++it;
}
if (it != end && (*it == 'g' || *it == 'n')) path_type_ = *it++;
if (it != end && (*it == 'g')) path_type_ = *it++;
return it;
}

template <typename FormatContext>
auto format(const std::filesystem::path& p, FormatContext& ctx) const {
auto specs = specs_;
# ifdef _WIN32
auto path_string = path_type_ == 'n' ? p.native() : p.generic_wstring();
auto path_string = !path_type_ ? p.native() : p.generic_wstring();
# else
auto path_string = path_type_ == 'n' ? p.native() : p.generic_string();
auto path_string = !path_type_ ? p.native() : p.generic_string();
# endif

detail::handle_dynamic_spec<detail::width_checker>(specs.width, width_ref_,
Expand Down
3 changes: 1 addition & 2 deletions test/std-test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,9 @@ TEST(std_test, path) {
EXPECT_EQ(fmt::format("{}", path("foo\"bar")), "foo\"bar");
EXPECT_EQ(fmt::format("{:?}", path("foo\"bar")), "\"foo\\\"bar\"");

EXPECT_EQ(fmt::format("{:n}", path("/usr/bin")), "/usr/bin");
EXPECT_EQ(fmt::format("{:g}", path("/usr/bin")), "/usr/bin");
# ifdef _WIN32
EXPECT_EQ(fmt::format("{:n}", path("C:\\foo")), "C:\\foo");
EXPECT_EQ(fmt::format("{}", path("C:\\foo")), "C:\\foo");
EXPECT_EQ(fmt::format("{:g}", path("C:\\foo")), "C:/foo");

EXPECT_EQ(fmt::format("{}", path(L"\x0428\x0447\x0443\x0447\x044B\x043D\x0448"
Expand Down

0 comments on commit 47c8f63

Please sign in to comment.