| From 22b3a91473d548456a0823f9f170db0d7db5a444 Mon Sep 17 00:00:00 2001 |
| From: kyak <bas@bmail.ru> |
| Date: Wed, 12 Jan 2022 19:41:37 +0300 |
| Subject: [PATCH] Fix for fmt > 8.0 |
| |
| Upstream-Status: Backport [https://github.com/gerbera/gerbera/commit/82d84ac5e62c23e717198fc7b2ef190ff95e70d1] |
| Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| --- |
| src/util/logger.h | 15 +++++++++++++++ |
| 1 file changed, 15 insertions(+) |
| |
| diff --git a/src/util/logger.h b/src/util/logger.h |
| index 8a8f0b1f..0a512bff 100644 |
| --- a/src/util/logger.h |
| +++ b/src/util/logger.h |
| @@ -32,7 +32,9 @@ |
| #ifndef __LOGGER_H__ |
| #define __LOGGER_H__ |
| |
| +#include <fmt/format.h> |
| #include <spdlog/spdlog.h> |
| +#include <type_traits> |
| |
| #define log_debug SPDLOG_DEBUG |
| #define log_info SPDLOG_INFO |
| @@ -40,4 +42,17 @@ |
| #define log_error SPDLOG_ERROR |
| #define log_js SPDLOG_INFO |
| |
| +#if FMT_VERSION >= 80100 |
| +template <typename T> |
| +struct fmt::formatter<T, std::enable_if_t<std::is_enum_v<T>, char>> |
| + : formatter<std::underlying_type_t<T>> { |
| + template <typename FormatContext> |
| + auto format(const T& value, FormatContext& ctx) -> decltype(ctx.out()) |
| + { |
| + return fmt::formatter<std::underlying_type_t<T>>::format( |
| + static_cast<std::underlying_type_t<T>>(value), ctx); |
| + } |
| +}; |
| +#endif |
| + |
| #endif // __LOGGER_H__ |
| -- |
| 2.35.0 |
| |