@@ -592,8 +592,7 @@ bool SARA_R5::processURCEvent(const char *event)
592
592
}
593
593
}
594
594
{ // URC: +UUMQTTC (MQTT Command Result)
595
- SARA_R5_mqtt_command_opcode_t mqttCmd;
596
- int mqttResult;
595
+ int command, result;
597
596
int scanNum;
598
597
int qos = -1 ;
599
598
String topic;
@@ -607,8 +606,8 @@ bool SARA_R5::processURCEvent(const char *event)
607
606
searchPtr++; // skip spaces
608
607
}
609
608
610
- scanNum = sscanf (searchPtr, " %d,%d" , &mqttCmd , &mqttResult );
611
- if ((scanNum == 2 ) && (mqttCmd == SARA_R5_MQTT_COMMAND_SUBSCRIBE))
609
+ scanNum = sscanf (searchPtr, " %d,%d" , &command , &result );
610
+ if ((scanNum == 2 ) && (command == SARA_R5_MQTT_COMMAND_SUBSCRIBE))
612
611
{
613
612
char topicC[100 ] = " " ;
614
613
scanNum = sscanf (searchPtr, " %*d,%*d,%d,\" %[^\" ]\" " , &qos, topicC);
@@ -623,7 +622,7 @@ bool SARA_R5::processURCEvent(const char *event)
623
622
624
623
if (_mqttCommandRequestCallback != nullptr )
625
624
{
626
- _mqttCommandRequestCallback (mqttCmd, mqttResult );
625
+ _mqttCommandRequestCallback (command, result );
627
626
}
628
627
629
628
return true ;
@@ -1644,9 +1643,11 @@ SARA_R5_error_t SARA_R5::getExtSignalQuality(signal_quality& signal_quality)
1644
1643
}
1645
1644
1646
1645
int scanned = 0 ;
1647
- char *searchPtr = strstr (response, " +CESQ: " );
1646
+ const char * responseStr = " +CESQ:" ;
1647
+ char *searchPtr = strstr (response, responseStr);
1648
1648
if (searchPtr != nullptr )
1649
1649
{
1650
+ searchPtr += strlen (responseStr); // Move searchPtr to first char
1650
1651
while (*searchPtr == ' ' ) searchPtr++; // skip spaces
1651
1652
scanned = sscanf (searchPtr, " %u,%u,%u,%u,%u,%u" , &signal_quality.rxlev , &signal_quality.ber ,
1652
1653
&signal_quality.rscp , &signal_quality.enc0 , &signal_quality.rsrq , &signal_quality.rsrp );
@@ -4702,7 +4703,12 @@ SARA_R5_error_t SARA_R5::getFTPprotocolError(int *error_code, int *error_code2)
4702
4703
char *searchPtr = strstr (response, " +UFTPER:" );
4703
4704
if (searchPtr != nullptr )
4704
4705
{
4705
- scanned = sscanf (searchPtr, " +UFTPER:%d,%d\r\n " , &code, &code2);
4706
+ searchPtr += strlen (" +UFTPER:" ); // Move searchPtr to first char
4707
+ while (*searchPtr == ' ' )
4708
+ {
4709
+ searchPtr++; // skip spaces
4710
+ }
4711
+ scanned = sscanf (searchPtr, " %d,%d\r\n " , &code, &code2);
4706
4712
}
4707
4713
4708
4714
if (scanned == 2 )
0 commit comments