From 55dfca193604cd0606643b88a32f807325f9a82f Mon Sep 17 00:00:00 2001 From: Rubidium Date: Tue, 30 May 2023 19:35:27 +0200 Subject: [PATCH] Codechange: replace seprintf with C++ style formatting --- src/console_cmds.cpp | 4 +--- src/framerate_gui.cpp | 6 +++--- src/network/core/address.cpp | 5 ++--- src/network/core/os_abstraction.cpp | 5 +++-- src/network/core/tcp_connect.cpp | 5 ++--- src/saveload/saveload.cpp | 4 +--- 6 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/console_cmds.cpp b/src/console_cmds.cpp index 5cf8b1c958..111017c0cc 100644 --- a/src/console_cmds.cpp +++ b/src/console_cmds.cpp @@ -2269,9 +2269,7 @@ DEF_CONSOLE_CMD(ConNewGRFProfile) started++; if (!grfids.empty()) grfids += ", "; - char grfidstr[12]{ 0 }; - seprintf(grfidstr, lastof(grfidstr), "[%08X]", BSWAP32(pr.grffile->grfid)); - grfids += grfidstr; + fmt::format_to(std::back_inserter(grfids), "[{%:08X}]", BSWAP32(pr.grffile->grfid)); } } if (started > 0) { diff --git a/src/framerate_gui.cpp b/src/framerate_gui.cpp index db9dea477f..824896014c 100644 --- a/src/framerate_gui.cpp +++ b/src/framerate_gui.cpp @@ -1058,7 +1058,7 @@ void ConPrintFramerate() "AI/GS scripts total", "Game script", }; - char ai_name_buf[128]; + std::string ai_name_buf; static const PerformanceElement rate_elements[] = { PFE_GAMELOOP, PFE_DRAWING, PFE_VIDEO }; @@ -1077,11 +1077,11 @@ void ConPrintFramerate() for (PerformanceElement e = PFE_FIRST; e < PFE_MAX; e++) { auto &pf = _pf_data[e]; if (pf.num_valid == 0) continue; - const char *name; + std::string_view name; if (e < PFE_AI0) { name = MEASUREMENT_NAMES[e]; } else { - seprintf(ai_name_buf, lastof(ai_name_buf), "AI %d %s", e - PFE_AI0 + 1, GetAIName(e - PFE_AI0)), + ai_name_buf = fmt::format("AI {} {}", e - PFE_AI0 + 1, GetAIName(e - PFE_AI0)); name = ai_name_buf; } IConsolePrint(TC_LIGHT_BLUE, "{} times: {:.2f}ms {:.2f}ms {:.2f}ms", diff --git a/src/network/core/address.cpp b/src/network/core/address.cpp index 366c140e65..313a725c55 100644 --- a/src/network/core/address.cpp +++ b/src/network/core/address.cpp @@ -215,8 +215,7 @@ SOCKET NetworkAddress::Resolve(int family, int socktype, int flags, SocketList * hints.ai_socktype = socktype; /* The port needs to be a string. Six is enough to contain all characters + '\0'. */ - char port_name[6]; - seprintf(port_name, lastof(port_name), "%u", this->GetPort()); + std::string port_name = std::to_string(this->GetPort()); bool reset_hostname = false; /* Setting both hostname to nullptr and port to 0 is not allowed. @@ -231,7 +230,7 @@ SOCKET NetworkAddress::Resolve(int family, int socktype, int flags, SocketList * static bool _resolve_timeout_error_message_shown = false; auto start = std::chrono::steady_clock::now(); - int e = getaddrinfo(this->hostname.empty() ? nullptr : this->hostname.c_str(), port_name, &hints, &ai); + int e = getaddrinfo(this->hostname.empty() ? nullptr : this->hostname.c_str(), port_name.c_str(), &hints, &ai); auto end = std::chrono::steady_clock::now(); std::chrono::seconds duration = std::chrono::duration_cast(end - start); if (!_resolve_timeout_error_message_shown && duration >= std::chrono::seconds(5)) { diff --git a/src/network/core/os_abstraction.cpp b/src/network/core/os_abstraction.cpp index 225c95d931..9fcb9bf7fd 100644 --- a/src/network/core/os_abstraction.cpp +++ b/src/network/core/os_abstraction.cpp @@ -83,9 +83,10 @@ const std::string &NetworkError::AsString() const char buffer[512]; if (FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, this->error, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buffer, sizeof(buffer), NULL) == 0) { - seprintf(buffer, lastof(buffer), "Unknown error %d", this->error); + this->message.assign(fmt::format("Unknown error {}", this->error)); + } else { + this->message.assign(buffer); } - this->message.assign(buffer); #else /* Make strerror thread safe by locking access to it. There is a thread safe strerror_r, however * the non-POSIX variant is available due to defining _GNU_SOURCE meaning it is not portable. diff --git a/src/network/core/tcp_connect.cpp b/src/network/core/tcp_connect.cpp index 9e96240774..b9d033f1e7 100644 --- a/src/network/core/tcp_connect.cpp +++ b/src/network/core/tcp_connect.cpp @@ -233,14 +233,13 @@ void TCPConnecter::Resolve() hints.ai_flags = AI_ADDRCONFIG; hints.ai_socktype = SOCK_STREAM; - char port_name[6]; - seprintf(port_name, lastof(port_name), "%u", address.GetPort()); + std::string port_name = std::to_string(address.GetPort()); static bool getaddrinfo_timeout_error_shown = false; auto start = std::chrono::steady_clock::now(); addrinfo *ai; - int error = getaddrinfo(address.GetHostname().c_str(), port_name, &hints, &ai); + int error = getaddrinfo(address.GetHostname().c_str(), port_name.c_str(), &hints, &ai); auto end = std::chrono::steady_clock::now(); auto duration = std::chrono::duration_cast(end - start); diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 39ea3f7b92..27ca87c461 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2974,9 +2974,7 @@ static SaveOrLoadResult DoLoad(LoadFilter *reader, bool load_check) /* loader for this savegame type is not implemented? */ if (fmt->init_load == nullptr) { - char err_str[64]; - seprintf(err_str, lastof(err_str), "Loader for '%s' is not available.", fmt->name); - SlError(STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR, err_str); + SlError(STR_GAME_SAVELOAD_ERROR_BROKEN_INTERNAL_ERROR, fmt::format("Loader for '{}' is not available.", fmt->name)); } _sl.lf = fmt->init_load(_sl.lf);