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.
This commit is contained in:
hubslave 2018-03-02 18:12:51 +02:00
parent 27b20359b4
commit fd79b70a87
3 changed files with 8 additions and 7 deletions

View File

@ -21,6 +21,7 @@ endif()
# libfmt
add_subdirectory(fmt)
add_library(fmt::fmt ALIAS fmt)
# getopt
if (MSVC)

2
externals/fmt vendored

@ -1 +1 @@
Subproject commit ac5484c4e7365b59d8c7e14db6778de26635e428
Subproject commit 4d35f94133ed14794e53c9f8627d047b408e0dc7

View File

@ -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;
}