From fd79b70a878a4a1d9d24aa2a8494680b11ea02a6 Mon Sep 17 00:00:00 2001 From: hubslave <29800872+hubslave@users.noreply.github.com> Date: Fri, 2 Mar 2018 18:12:51 +0200 Subject: [PATCH] externals: Update fmt to 4d35f94 Versions prior to this didn't compile on OpenBSD due to unconditional use of the non-standard strtod_l() function. The fmt::MemoryWriter API has been removed in the intervening versions, so replace its use with fmt::memory_buffer and fmt::format_to. The library also no longer provides the fmt::fmt ALIAS, so define it in externals/CMakeLists.txt. --- externals/CMakeLists.txt | 1 + externals/fmt | 2 +- src/core/hle/service/service.cpp | 12 ++++++------ 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/externals/CMakeLists.txt b/externals/CMakeLists.txt index 88cc52588..b6909ce15 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -21,6 +21,7 @@ endif() # libfmt add_subdirectory(fmt) +add_library(fmt::fmt ALIAS fmt) # getopt if (MSVC) diff --git a/externals/fmt b/externals/fmt index ac5484c4e..4d35f9413 160000 --- a/externals/fmt +++ b/externals/fmt @@ -1 +1 @@ -Subproject commit ac5484c4e7365b59d8c7e14db6778de26635e428 +Subproject commit 4d35f94133ed14794e53c9f8627d047b408e0dc7 diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index 133e14d5e..4bbe8bfb1 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -150,15 +150,15 @@ void ServiceFrameworkBase::ReportUnimplementedFunction(u32* cmd_buf, const Funct int num_params = header.normal_params_size + header.translate_params_size; std::string function_name = info == nullptr ? fmt::format("{:#08x}", cmd_buf[0]) : info->name; - fmt::MemoryWriter w; - w.write("function '{}': port='{}' cmd_buf={{[0]={:#x}", function_name, service_name, - cmd_buf[0]); + fmt::memory_buffer buf; + fmt::format_to(buf, "function '{}': port='{}' cmd_buf={{[0]={:#x}", function_name, service_name, + cmd_buf[0]); for (int i = 1; i <= num_params; ++i) { - w.write(", [{}]={:#x}", i, cmd_buf[i]); + fmt::format_to(buf, ", [{}]={:#x}", i, cmd_buf[i]); } - w << '}'; + buf.push_back('}'); - LOG_ERROR(Service, "unknown / unimplemented %s", w.c_str()); + LOG_ERROR(Service, "unknown / unimplemented %s", fmt::to_string(buf).c_str()); // TODO(bunnei): Hack - ignore error cmd_buf[1] = 0; }