From 7f3868727bdac8c3d7d10b41e8e3aff086af87a6 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Mon, 28 Nov 2022 18:51:37 +0100 Subject: [PATCH] Log, client/Response, io/BufferedOutputStream: drop support for libfmt < 7 Remove some compatibility code. --- NEWS | 1 + meson.build | 2 +- src/Log.hxx | 8 ++------ src/client/Response.hxx | 14 +++----------- src/io/BufferedOutputStream.hxx | 8 ++------ 5 files changed, 9 insertions(+), 24 deletions(-) diff --git a/NEWS b/NEWS index 01f5fecc1..d6d14361e 100644 --- a/NEWS +++ b/NEWS @@ -24,6 +24,7 @@ ver 0.24 (not yet released) - GCC 10 or clang 11 (or newer) recommended * static partition configuration * remove Haiku support +* require libfmt 7 or later ver 0.23.11 (2022/11/28) * database diff --git a/meson.build b/meson.build index 8d59d9c96..acde4acbd 100644 --- a/meson.build +++ b/meson.build @@ -248,7 +248,7 @@ if boost_dep.version() == '1.67' warning('Your Boost version 1.67 is known to be buggy, and the MPD build will fail. Please upgrade to Boost 1.68 or later.') endif -fmt_dep = dependency('fmt', fallback: ['fmt', 'fmt_dep']) +fmt_dep = dependency('fmt', version: '>= 7', fallback: ['fmt', 'fmt_dep']) if compiler.get_id() == 'clang' and compiler.version().version_compare('<15') fmt_dep = declare_dependency( diff --git a/src/Log.hxx b/src/Log.hxx index 5cf0eb2ec..5bc8fe2bd 100644 --- a/src/Log.hxx +++ b/src/Log.hxx @@ -23,7 +23,7 @@ #include "LogLevel.hxx" #include -#if FMT_VERSION < 70000 || FMT_VERSION >= 80000 +#if FMT_VERSION >= 80000 #include #endif @@ -48,14 +48,10 @@ LogFmt(LogLevel level, const Domain &domain, #if FMT_VERSION >= 90000 return LogVFmt(level, domain, format_str, fmt::make_format_args(args...)); -#elif FMT_VERSION >= 70000 +#else return LogVFmt(level, domain, fmt::to_string_view(format_str), fmt::make_args_checked(format_str, args...)); -#else - /* expensive fallback for older libfmt versions */ - const auto result = fmt::format(format_str, args...); - return Log(level, domain, result); #endif } diff --git a/src/client/Response.hxx b/src/client/Response.hxx index cb1b49000..7b4aa68cc 100644 --- a/src/client/Response.hxx +++ b/src/client/Response.hxx @@ -23,7 +23,7 @@ #include "protocol/Ack.hxx" #include -#if FMT_VERSION < 70000 || FMT_VERSION >= 80000 +#if FMT_VERSION >= 80000 #include #endif @@ -85,14 +85,10 @@ public: #if FMT_VERSION >= 90000 return VFmt(format_str, fmt::make_format_args(args...)); -#elif FMT_VERSION >= 70000 +#else return VFmt(fmt::to_string_view(format_str), fmt::make_args_checked(format_str, args...)); -#else - /* expensive fallback for older libfmt versions */ - const auto result = fmt::format(format_str, args...); - return Write(result.data(), result.size()); #endif } @@ -115,14 +111,10 @@ public: #if FMT_VERSION >= 90000 return VFmtError(code, format_str, fmt::make_format_args(args...)); -#elif FMT_VERSION >= 70000 +#else return VFmtError(code, fmt::to_string_view(format_str), fmt::make_args_checked(format_str, args...)); -#else - /* expensive fallback for older libfmt versions */ - const auto result = fmt::format(format_str, args...); - return Error(code, result.c_str()); #endif } }; diff --git a/src/io/BufferedOutputStream.hxx b/src/io/BufferedOutputStream.hxx index cb3994584..aada3740e 100644 --- a/src/io/BufferedOutputStream.hxx +++ b/src/io/BufferedOutputStream.hxx @@ -34,7 +34,7 @@ #include "util/DynamicFifoBuffer.hxx" #include -#if FMT_VERSION < 70000 || FMT_VERSION >= 80000 +#if FMT_VERSION >= 80000 #include #endif @@ -104,14 +104,10 @@ public: #if FMT_VERSION >= 90000 VFmt(format_str, fmt::make_format_args(args...)); -#elif FMT_VERSION >= 70000 +#else VFmt(fmt::to_string_view(format_str), fmt::make_args_checked(format_str, args...)); -#else - /* expensive fallback for older libfmt versions */ - const auto result = fmt::format(format_str, args...); - Write(result.data(), result.size()); #endif }