diff --git a/include/spdlog/common.h b/include/spdlog/common.h index 0b3a2e21..1ccd397a 100644 --- a/include/spdlog/common.h +++ b/include/spdlog/common.h @@ -158,18 +158,9 @@ public: spdlog_ex(const std::string &msg, int last_errno) { - std::string errno_string; - char buf[500], *buf_ptr = buf; - - if (fmt::safe_strerror(last_errno, buf_ptr, sizeof(buf)) == 0) - { - errno_string = buf_ptr; - } - else - { - errno_string = "Unknown error"; - } - _msg = msg + ": " + errno_string; + fmt::MemoryWriter writer; + fmt::format_system_error(writer, last_errno, msg); + _msg = writer.str(); } const char *what() const SPDLOG_NOEXCEPT override