SHA256
1
0
forked from pool/spdlog
spdlog/tt4g-fix-2735.diff

51 lines
1.6 KiB
Diff

diff --git a/include/spdlog/sinks/daily_file_sink.h b/include/spdlog/sinks/daily_file_sink.h
index f6f1bb1d..31516ee2 100644
--- a/include/spdlog/sinks/daily_file_sink.h
+++ b/include/spdlog/sinks/daily_file_sink.h
@@ -18,6 +18,7 @@
#include <ctime>
#include <mutex>
#include <string>
+#include <vector>
namespace spdlog {
namespace sinks {
@@ -48,7 +49,6 @@ struct daily_filename_format_calculator
{
static filename_t calc_filename(const filename_t &filename, const tm &now_tm)
{
-#ifdef SPDLOG_USE_STD_FORMAT
// adapted from fmtlib: https://github.com/fmtlib/fmt/blob/8.0.1/include/fmt/chrono.h#L522-L546
filename_t tm_format;
@@ -59,7 +59,7 @@ struct daily_filename_format_calculator
tm_format.push_back(' ');
const size_t MIN_SIZE = 10;
- filename_t buf;
+ std::vector<char> buf;
buf.resize(MIN_SIZE);
for (;;)
{
@@ -73,19 +73,7 @@ struct daily_filename_format_calculator
buf.resize(buf.size() * 2);
}
- return buf;
-#else
- // generate fmt datetime format string, e.g. {:%Y-%m-%d}.
- filename_t fmt_filename = fmt::format(SPDLOG_FMT_STRING(SPDLOG_FILENAME_T("{{:{}}}")), filename);
-
- // MSVC doesn't allow fmt::runtime(..) with wchar, with fmtlib versions < 9.1.x
-# if defined(_MSC_VER) && defined(SPDLOG_WCHAR_FILENAMES) && FMT_VERSION < 90101
- return fmt::format(fmt_filename, now_tm);
-# else
- return fmt::format(SPDLOG_FMT_RUNTIME(fmt_filename), now_tm);
-# endif
-
-#endif
+ return std::string(buf.cbegin(), buf.cend());
}
private: