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]"