summaryrefslogtreecommitdiffstats
path: root/src/OSSupport
diff options
context:
space:
mode:
Diffstat (limited to 'src/OSSupport')
-rw-r--r--src/OSSupport/File.cpp7
-rw-r--r--src/OSSupport/File.h8
2 files changed, 10 insertions, 5 deletions
diff --git a/src/OSSupport/File.cpp b/src/OSSupport/File.cpp
index 3dd97f36c..e882daae7 100644
--- a/src/OSSupport/File.cpp
+++ b/src/OSSupport/File.cpp
@@ -692,10 +692,11 @@ AString cFile::GetExecutableExt(void)
-int cFile::Printf(const char * a_Fmt, fmt::ArgList a_ArgList)
+int cFile::vPrintf(const char * a_Fmt, fmt::printf_args a_ArgList)
{
- AString buf = ::Printf(a_Fmt, a_ArgList);
- return Write(buf.c_str(), buf.length());
+ fmt::memory_buffer Buffer;
+ fmt::printf(Buffer, fmt::to_string_view(a_Fmt), a_ArgList);
+ return Write(Buffer.data(), Buffer.size());
}
diff --git a/src/OSSupport/File.h b/src/OSSupport/File.h
index 59bb61974..0bb877186 100644
--- a/src/OSSupport/File.h
+++ b/src/OSSupport/File.h
@@ -163,8 +163,12 @@ public:
/** Returns the list of all items in the specified folder (files, folders, nix pipes, whatever's there). */
static AStringVector GetFolderContents(const AString & a_Folder); // Exported in ManualBindings.cpp
- int Printf(const char * a_Fmt, fmt::ArgList);
- FMT_VARIADIC(int, Printf, const char *)
+ int vPrintf(const char * a_Fmt, fmt::printf_args);
+ template <typename... Args>
+ int Printf(const char * a_Fmt, const Args & ... a_Args)
+ {
+ return vPrintf(a_Fmt, fmt::make_printf_args(a_Args...));
+ }
/** Flushes all the bufferef output into the file (only when writing) */
void Flush(void);