Separate compilation for println

This commit is contained in:
Victor Zverovich
2024-01-10 05:55:26 -08:00
parent 58a6bd48a8
commit fc8f6ba934
2 changed files with 19 additions and 6 deletions
+10 -1
View File
@@ -1448,9 +1448,11 @@ FMT_FUNC bool write_console(int fd, string_view text) {
#ifdef _WIN32
// Print assuming legacy (non-Unicode) encoding.
FMT_FUNC void vprint_mojibake(std::FILE* f, string_view fmt, format_args args) {
FMT_FUNC void vprint_mojibake(std::FILE* f, string_view fmt, format_args args,
bool newline) {
auto buffer = memory_buffer();
detail::vformat_to(buffer, fmt, args);
if (newline) buffer.push_back('\n');
fwrite_fully(buffer.data(), buffer.size(), f);
}
#endif
@@ -1473,6 +1475,13 @@ FMT_FUNC void vprint(std::FILE* f, string_view fmt, format_args args) {
detail::print(f, {buffer.data(), buffer.size()});
}
FMT_FUNC void vprintln(std::FILE* f, string_view fmt, format_args args) {
auto buffer = memory_buffer();
detail::vformat_to(buffer, fmt, args);
buffer.push_back('\n');
detail::print(f, {buffer.data(), buffer.size()});
}
FMT_FUNC void vprint(string_view fmt, format_args args) {
vprint(stdout, fmt, args);
}