summaryrefslogtreecommitdiff
path: root/client/socket.c
diff options
context:
space:
mode:
Diffstat (limited to 'client/socket.c')
-rw-r--r--client/socket.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/client/socket.c b/client/socket.c
index 4b58625..19a761a 100644
--- a/client/socket.c
+++ b/client/socket.c
@@ -29,6 +29,7 @@ cClientSocket::cClientSocket(void)
m_LastSignalUpdate = 0;
m_LastSignalStrength = -1;
m_LastSignalQuality = -1;
+ m_LastDev = -1;
Reset();
}
@@ -291,7 +292,7 @@ bool cClientSocket::SetPriority(int Priority) {
return Command(command, 220);
}
-bool cClientSocket::GetSignal(int *SignalStrength, int *SignalQuality) {
+bool cClientSocket::GetSignal(int *SignalStrength, int *SignalQuality, int *Dev) {
if (!CheckConnection()) return -1;
CMD_LOCK;
@@ -301,7 +302,8 @@ bool cClientSocket::GetSignal(int *SignalStrength, int *SignalQuality) {
std::string buffer;
std::string command("SGNL");
if (!Send(command) || !Receive(command, &code, &buffer) || code != 220
- || sscanf(buffer.c_str(), "%*d %*d %d:%d", &m_LastSignalStrength, &m_LastSignalQuality) != 2) {
+ || sscanf(buffer.c_str(), "%*d %d %d:%d", &m_LastDev, &m_LastSignalStrength, &m_LastSignalQuality) != 3) {
+ m_LastDev = -1;
m_LastSignalStrength = -1;
m_LastSignalQuality = -1;
}
@@ -311,6 +313,8 @@ bool cClientSocket::GetSignal(int *SignalStrength, int *SignalQuality) {
*SignalStrength = m_LastSignalStrength;
if (SignalQuality)
*SignalQuality = m_LastSignalQuality;
+ if (Dev)
+ *Dev = m_LastDev;
return 0;
}