From d9e2f52ae66fc66748c154edfdd6c53256a90c64 Mon Sep 17 00:00:00 2001 From: Jonathan Naylor Date: Thu, 30 May 2024 14:53:55 +0100 Subject: [PATCH] Fixes for VS2019, and the use of a different compiler. --- DMRSlot.cpp | 4 ++-- DStarControl.cpp | 4 ++-- MMDVMHost.vcxproj | 28 +++++++++++++++------------- MMDVMHost.vcxproj.filters | 20 +++++++------------- RemoteControl.cpp | 13 ++++++++----- 5 files changed, 34 insertions(+), 35 deletions(-) diff --git a/DMRSlot.cpp b/DMRSlot.cpp index 9a809be..d6f8dc9 100644 --- a/DMRSlot.cpp +++ b/DMRSlot.cpp @@ -1331,7 +1331,7 @@ void CDMRSlot::writeNetwork(const CDMRData& dmrData) // We've received the voice header and terminator haven't we? m_netFrames += 2U; LogMessage("DMR Slot %u, received network end of voice transmission from %s to %s%s, %.1f seconds, %u%% packet loss, BER: %.1f%%", m_slotNo, src.c_str(), flco == FLCO_GROUP ? "TG " : "", dst.c_str(), float(m_netFrames) / 16.667F, (m_netLost * 100U) / m_netFrames, float(m_netErrs * 100U) / float(m_netBits)); - writeJSONNet("end", float(m_netFrames) / 16.667F, (m_netLost * 100U) / m_netFrames, float(m_netErrs * 100U) / float(m_netBits)); + writeJSONNet("end", float(m_netFrames) / 16.667F, float(m_netLost * 100U) / float(m_netFrames), float(m_netErrs * 100U) / float(m_netBits)); writeEndNet(); } else if (dataType == DT_DATA_HEADER) { if (m_netState == RS_NET_DATA) @@ -1890,7 +1890,7 @@ void CDMRSlot::clock() // We've received the voice header haven't we? m_netFrames += 1U; LogMessage("DMR Slot %u, network watchdog has expired, %.1f seconds, %u%% packet loss, BER: %.1f%%", m_slotNo, float(m_netFrames) / 16.667F, (m_netLost * 100U) / m_netFrames, float(m_netErrs * 100U) / float(m_netBits)); - writeJSONNet("lost", float(m_netFrames) / 16.667F, (m_netLost * 100U) / m_netFrames, float(m_netErrs * 100U) / float(m_netBits)); + writeJSONNet("lost", float(m_netFrames) / 16.667F, float(m_netLost * 100U) / float(m_netFrames), float(m_netErrs * 100U) / float(m_netBits)); writeEndNet(true); } else { LogMessage("DMR Slot %u, network watchdog has expired", m_slotNo); diff --git a/DStarControl.cpp b/DStarControl.cpp index f2e1a0e..0d636ea 100644 --- a/DStarControl.cpp +++ b/DStarControl.cpp @@ -795,7 +795,7 @@ void CDStarControl::writeNetwork() // We've received the header and EOT haven't we? m_netFrames += 2U; LogMessage("D-Star, received network end of transmission from %8.8s/%4.4s to %8.8s, %.1f seconds, %u%% packet loss", my1, my2, your, float(m_netFrames) / 50.0F, (m_netLost * 100U) / m_netFrames); - writeJSONNet("end", float(m_netFrames) / 50.0F, (m_netLost * 100U) / m_netFrames); + writeJSONNet("end", float(m_netFrames) / 50.0F, float(m_netLost * 100U) / float(m_netFrames)); writeEndNet(); } else if (type == TAG_DATA) { @@ -879,7 +879,7 @@ void CDStarControl::clock() m_netFrames += 1U; LogMessage("D-Star, network watchdog has expired, %.1f seconds, %u%% packet loss", float(m_netFrames) / 50.0F, (m_netLost * 100U) / m_netFrames); - writeJSONNet("lost", float(m_netFrames) / 50.0F, (m_netLost * 100U) / m_netFrames); + writeJSONNet("lost", float(m_netFrames) / 50.0F, float(m_netLost * 100U) / float(m_netFrames)); writeEndNet(); } } diff --git a/MMDVMHost.vcxproj b/MMDVMHost.vcxproj index 29d0454..72aff0d 100644 --- a/MMDVMHost.vcxproj +++ b/MMDVMHost.vcxproj @@ -88,12 +88,13 @@ Level3 Disabled WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + C:\Program Files\mosquitto\devel;C:\Program Files;%(AdditionalIncludeDirectories) Console true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;mosquitto.lib;%(AdditionalDependencies) + C:\Program Files\mosquitto\devel;%(AdditionalLibraryDirectories) @@ -103,12 +104,13 @@ Level3 Disabled _DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + C:\Program Files\mosquitto\devel;C:\Program Files;%(AdditionalIncludeDirectories) Console true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;mosquitto.lib;%(AdditionalDependencies) + C:\Program Files\mosquitto\devel;%(AdditionalLibraryDirectories) "$(ProjectDir)prebuild.cmd" $(ProjectDir) @@ -126,14 +128,15 @@ true true WIN32;NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + C:\Program Files\mosquitto\devel;C:\Program Files;%(AdditionalIncludeDirectories) Console true true true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;mosquitto.lib;%(AdditionalDependencies) + C:\Program Files\mosquitto\devel;%(AdditionalLibraryDirectories) @@ -145,14 +148,15 @@ true true NDEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions) + C:\Program Files\mosquitto\devel;C:\Program Files;%(AdditionalIncludeDirectories) Console true true true - kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;%(AdditionalDependencies) - %(AdditionalLibraryDirectories) + kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;ws2_32.lib;mosquitto.lib;%(AdditionalDependencies) + C:\Program Files\mosquitto\devel;%(AdditionalLibraryDirectories) @@ -203,6 +207,7 @@ + @@ -230,7 +235,6 @@ - @@ -241,7 +245,6 @@ - @@ -302,6 +305,7 @@ + @@ -327,7 +331,6 @@ - @@ -336,7 +339,6 @@ - @@ -355,4 +357,4 @@ - + \ No newline at end of file diff --git a/MMDVMHost.vcxproj.filters b/MMDVMHost.vcxproj.filters index 0e87459..a92bb76 100644 --- a/MMDVMHost.vcxproj.filters +++ b/MMDVMHost.vcxproj.filters @@ -296,12 +296,6 @@ Header Files - - Header Files - - - Header Files - Header Files @@ -317,6 +311,9 @@ Header Files + + Header Files + @@ -571,12 +568,6 @@ Source Files - - Source Files - - - Source Files - Source Files @@ -592,5 +583,8 @@ Source Files + + Source Files + - + \ No newline at end of file diff --git a/RemoteControl.cpp b/RemoteControl.cpp index 30ea16e..3ce9dcb 100644 --- a/RemoteControl.cpp +++ b/RemoteControl.cpp @@ -52,12 +52,15 @@ REMOTE_COMMAND CRemoteControl::getCommand(const std::string& command) std::string reply = "OK"; - std::stringstream tokeniser(command); - // Parse the original command into a vector of strings. - std::string token; - while (std::getline(tokeniser, token, ' ')) - m_args.push_back(token); + size_t start = command.find_first_not_of(' '); + while (start != std::string::npos) { + size_t end = command.find_first_of(' ', start); + + m_args.push_back(command.substr(start, end - start)); + + start = command.find_first_not_of(' ', end); + } if (m_args.at(0U) == "mode" && m_args.size() >= SET_MODE_ARGS) { // Mode command is in the form of "mode [|fixed]"