From c9845c486e91912ae0d09dce8afb16880f2f4cba Mon Sep 17 00:00:00 2001 From: Daniel Lim Wee Soong Date: Tue, 3 Apr 2018 02:49:58 +0800 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 ec3c70779..d2b0652a5 100644 --- a/externals/CMakeLists.txt +++ b/externals/CMakeLists.txt @@ -17,6 +17,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 8011d0d71..c5490c1ae 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -112,15 +112,15 @@ void ServiceFrameworkBase::ReportUnimplementedFunction(Kernel::HLERequestContext auto cmd_buf = ctx.CommandBuffer(); std::string function_name = info == nullptr ? fmt::format("{}", ctx.GetCommand()) : 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 <= 8; ++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()); UNIMPLEMENTED(); }