forked from pool/spdlog
51 lines
1.6 KiB
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:
|