diff --git a/include/fmt/core.h b/include/fmt/core.h index 5f742dd2..eadd4ab1 100644 --- a/include/fmt/core.h +++ b/include/fmt/core.h @@ -1441,6 +1441,8 @@ template typename buffer_context::iterator vformat_to( buffer& buf, basic_string_view format_str, basic_format_args> args); + +FMT_API void vprint_mojibake(std::FILE*, string_view, format_args); } // namespace internal /** @@ -1515,7 +1517,6 @@ inline std::basic_string format(const S& format_str, Args&&... args) { FMT_API void vprint(string_view, format_args); FMT_API void vprint(std::FILE*, string_view, format_args); -FMT_API void vprint_mojibake(std::FILE*, string_view, format_args); /** \rst @@ -1535,8 +1536,9 @@ inline void print(std::FILE* f, const S& format_str, Args&&... args) { vprint(f, to_string_view(format_str), internal::make_args_checked(format_str, args...)); #else - vprint_mojibake(f, to_string_view(format_str), - internal::make_args_checked(format_str, args...)); + internal::vprint_mojibake( + f, to_string_view(format_str), + internal::make_args_checked(format_str, args...)); #endif } @@ -1558,8 +1560,9 @@ inline void print(const S& format_str, Args&&... args) { vprint(to_string_view(format_str), internal::make_args_checked(format_str, args...)); #else - vprint_mojibake(stdout, to_string_view(format_str), - internal::make_args_checked(format_str, args...)); + internal::vprint_mojibake( + stdout, to_string_view(format_str), + internal::make_args_checked(format_str, args...)); #endif } FMT_END_NAMESPACE diff --git a/include/fmt/format-inl.h b/include/fmt/format-inl.h index b78966b0..0f26b30f 100644 --- a/include/fmt/format-inl.h +++ b/include/fmt/format-inl.h @@ -1363,12 +1363,12 @@ FMT_FUNC void vprint(std::FILE* f, string_view format_str, format_args args) { #ifdef _WIN32 // Print assuming legacy (non-Unicode) encoding. -FMT_FUNC void vprint_mojibake(std::FILE* f, string_view format_str, - format_args args) { +FMT_FUNC void internal::vprint_mojibake(std::FILE* f, string_view format_str, + format_args args) { memory_buffer buffer; - internal::vformat_to(buffer, format_str, + vformat_to(buffer, format_str, basic_format_args>(args)); - internal::fwrite_fully(buffer.data(), 1, buffer.size(), f); + fwrite_fully(buffer.data(), 1, buffer.size(), f); } #endif