diff options
author | Francesco Borzì <borzifrancesco@gmail.com> | 2025-07-19 11:36:40 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-07-19 11:36:40 +0200 |
commit | c6a53849c70ef8e0c3c5b16c84ee1ef57b035eed (patch) | |
tree | 024e6ca896e8b46d16d2a587458ff4de8a1f3900 /src | |
parent | cbd8596184f2bf32edc5a83643ec3ef7e13982df (diff) |
refactor(Core/Misc): string handling and use smart pointer for strand (#22351)
Diffstat (limited to 'src')
-rw-r--r-- | src/common/Logging/Log.cpp | 7 | ||||
-rw-r--r-- | src/common/Logging/Log.h | 3 | ||||
-rw-r--r-- | src/tools/map_extractor/System.cpp | 10 |
3 files changed, 12 insertions, 8 deletions
diff --git a/src/common/Logging/Log.cpp b/src/common/Logging/Log.cpp index 37809458b8..2b473a8731 100644 --- a/src/common/Logging/Log.cpp +++ b/src/common/Logging/Log.cpp @@ -29,6 +29,7 @@ #include "Timer.h" #include "Tokenize.h" #include <chrono> +#include <memory> Log::Log() : AppenderId(0), highestLogLevel(LOG_LEVEL_FATAL) { @@ -39,7 +40,6 @@ Log::Log() : AppenderId(0), highestLogLevel(LOG_LEVEL_FATAL) Log::~Log() { - delete _strand; Close(); } @@ -369,7 +369,7 @@ void Log::Initialize(Acore::Asio::IoContext* ioContext) if (ioContext) { _ioContext = ioContext; - _strand = new Acore::Asio::Strand(*ioContext); + _strand = std::make_unique<Acore::Asio::Strand>(*ioContext); } LoadFromConfig(); @@ -377,8 +377,7 @@ void Log::Initialize(Acore::Asio::IoContext* ioContext) void Log::SetSynchronous() { - delete _strand; - _strand = nullptr; + _strand.reset(); _ioContext = nullptr; } diff --git a/src/common/Logging/Log.h b/src/common/Logging/Log.h index 90546bc226..2cf588ccac 100644 --- a/src/common/Logging/Log.h +++ b/src/common/Logging/Log.h @@ -24,6 +24,7 @@ #include "StringFormat.h" #include <unordered_map> #include <vector> +#include <memory> class Appender; class Logger; @@ -120,7 +121,7 @@ private: std::string m_logsTimestamp; Acore::Asio::IoContext* _ioContext; - Acore::Asio::Strand* _strand; + std::unique_ptr<Acore::Asio::Strand> _strand; }; #define sLog Log::instance() diff --git a/src/tools/map_extractor/System.cpp b/src/tools/map_extractor/System.cpp index 0b0f744f41..4396ed47f7 100644 --- a/src/tools/map_extractor/System.cpp +++ b/src/tools/map_extractor/System.cpp @@ -23,6 +23,7 @@ #include <filesystem> #include <set> #include <unordered_map> +#include <cstring> #ifdef _WIN32 #include "direct.h" @@ -184,7 +185,8 @@ void HandleArgs(int argc, char* arg[]) case 'i': if (c + 1 < argc) // all ok { - strcpy(input_path, arg[(c++) + 1]); + std::strncpy(input_path, arg[(c++) + 1], MAX_PATH_LENGTH - 1); + input_path[MAX_PATH_LENGTH - 1] = '\0'; } else { @@ -194,7 +196,8 @@ void HandleArgs(int argc, char* arg[]) case 'o': if (c + 1 < argc) // all ok { - strcpy(output_path, arg[(c++) + 1]); + std::strncpy(output_path, arg[(c++) + 1], MAX_PATH_LENGTH - 1); + output_path[MAX_PATH_LENGTH - 1] = '\0'; } else { @@ -282,7 +285,8 @@ uint32 ReadMapDBC() for (uint32 x = 0; x < map_count; ++x) { map_ids[x].id = dbc.getRecord(x).getUInt(0); - strcpy(map_ids[x].name, dbc.getRecord(x).getString(1)); + std::strncpy(map_ids[x].name, dbc.getRecord(x).getString(1), sizeof(map_ids[x].name) - 1); + map_ids[x].name[sizeof(map_ids[x].name) - 1] = '\0'; } printf("Done! (%u maps loaded)\n", (uint32)map_count); return map_count; |