diff --git a/src/xswiftbus/traffic.cpp b/src/xswiftbus/traffic.cpp index 47b935a32..5031ed2ac 100644 --- a/src/xswiftbus/traffic.cpp +++ b/src/xswiftbus/traffic.cpp @@ -147,15 +147,17 @@ namespace XSwiftBus void CTraffic::findAllCslPackages(const std::string &path) { - char nameBuffer[65536]; - char *indices[4096]; + std::vector nameBuffer(65536, '\0'); + std::vector indices(4096, nullptr); int returnedFiles; - int totalFiles; // Remove trailing / std::string dir = path.substr(0, path.size() - 1); - XPLMGetDirectoryContents(dir.c_str(), 0, nameBuffer, sizeof(nameBuffer), indices, sizeof(indices) / sizeof(char*), &totalFiles, &returnedFiles); - for (int i = 0; i < returnedFiles; i++) + XPLMGetDirectoryContents(dir.c_str(), 0, + nameBuffer.data(), static_cast(nameBuffer.size()), + indices.data(), static_cast(indices.size()), + nullptr, &returnedFiles); + for (std::size_t i = 0; i < static_cast(returnedFiles); i++) { std::string fileName(indices[i]); if (fileName == "xsb_aircraft.txt")