@@ -320,7 +320,7 @@ bool SARA_R5::processURCEvent(const char *event)
320
320
{
321
321
{ // URC: +UUSORD (Read Socket Data)
322
322
int socket, length;
323
- int ret = sscanf (event, " +UUSORD: %d,%d" , &socket, &length);
323
+ int ret = sscanf (event, " +UUSORD:%d,%d" , &socket, &length);
324
324
if (ret == 2 )
325
325
{
326
326
if (_printDebug == true )
@@ -345,7 +345,7 @@ bool SARA_R5::processURCEvent(const char *event)
345
345
}
346
346
{ // URC: +UUSORF (Receive From command (UDP only))
347
347
int socket, length;
348
- int ret = sscanf (event, " +UUSORF: %d,%d" , &socket, &length);
348
+ int ret = sscanf (event, " +UUSORF:%d,%d" , &socket, &length);
349
349
if (ret == 2 )
350
350
{
351
351
if (_printDebug == true )
@@ -365,7 +365,7 @@ bool SARA_R5::processURCEvent(const char *event)
365
365
int localIPstore[4 ] = {0 ,0 ,0 ,0 };
366
366
367
367
int ret = sscanf (event,
368
- " +UUSOLI: %d,\" %d.%d.%d.%d\" ,%u,%d,\" %d.%d.%d.%d\" ,%u" ,
368
+ " +UUSOLI:%d,\" %d.%d.%d.%d\" ,%u,%d,\" %d.%d.%d.%d\" ,%u" ,
369
369
&socket,
370
370
&remoteIPstore[0 ], &remoteIPstore[1 ], &remoteIPstore[2 ], &remoteIPstore[3 ],
371
371
&port, &listenSocket,
@@ -388,7 +388,7 @@ bool SARA_R5::processURCEvent(const char *event)
388
388
}
389
389
{ // URC: +UUSOCL (Close Socket)
390
390
int socket;
391
- int ret = sscanf (event, " +UUSOCL: %d" , &socket);
391
+ int ret = sscanf (event, " +UUSOCL:%d" , &socket);
392
392
if (ret == 1 )
393
393
{
394
394
if (_printDebug == true )
@@ -418,7 +418,7 @@ bool SARA_R5::processURCEvent(const char *event)
418
418
419
419
// This assumes the ULOC response type is "0" or "1" - as selected by gpsRequest detailed
420
420
scanNum = sscanf (event,
421
- " +UULOC: %d/%d/%d,%d:%d:%d.%d,%d.%[^,],%d.%[^,],%d,%lu,%u,%u,%*s" ,
421
+ " +UULOC:%d/%d/%d,%d:%d:%d.%d,%d.%[^,],%d.%[^,],%d,%lu,%u,%u,%*s" ,
422
422
&dateStore[0 ], &dateStore[1 ], &clck.date .year ,
423
423
&dateStore[2 ], &dateStore[3 ], &dateStore[4 ], &clck.time .ms ,
424
424
&latH, latL, &lonH, lonL, &alt, &uncertainty,
@@ -502,7 +502,7 @@ bool SARA_R5::processURCEvent(const char *event)
502
502
int scanNum;
503
503
int remoteIPstore[4 ];
504
504
505
- scanNum = sscanf (event, " +UUPSDA: %d,\" %d.%d.%d.%d\" " ,
505
+ scanNum = sscanf (event, " +UUPSDA:%d,\" %d.%d.%d.%d\" " ,
506
506
&result, &remoteIPstore[0 ], &remoteIPstore[1 ], &remoteIPstore[2 ], &remoteIPstore[3 ]);
507
507
508
508
if (scanNum == 5 )
@@ -527,7 +527,7 @@ bool SARA_R5::processURCEvent(const char *event)
527
527
int profile, command, result;
528
528
int scanNum;
529
529
530
- scanNum = sscanf (event, " +UUHTTPCR: %d,%d,%d" , &profile, &command, &result);
530
+ scanNum = sscanf (event, " +UUHTTPCR:%d,%d,%d" , &profile, &command, &result);
531
531
532
532
if (scanNum == 3 )
533
533
{
@@ -621,7 +621,7 @@ bool SARA_R5::processURCEvent(const char *event)
621
621
{ // URC: +A
622
622
int status = 0 ;
623
623
unsigned int lac = 0 , ci = 0 , Act = 0 ;
624
- int scanNum = sscanf (event, " +CREG: %d,\" %4x\" ,\" %4x\" ,%d" , &status, &lac, &ci, &Act);
624
+ int scanNum = sscanf (event, " +CREG:%d,\" %4x\" ,\" %4x\" ,%d" , &status, &lac, &ci, &Act);
625
625
if (scanNum == 4 )
626
626
{
627
627
if (_printDebug == true )
@@ -638,7 +638,7 @@ bool SARA_R5::processURCEvent(const char *event)
638
638
{ // URC: +CEREG
639
639
int status = 0 ;
640
640
unsigned int tac = 0 , ci = 0 , Act = 0 ;
641
- int scanNum = sscanf (event, " +CEREG: %d,\" %4x\" ,\" %4x\" ,%d" , &status, &tac, &ci, &Act);
641
+ int scanNum = sscanf (event, " +CEREG:%d,\" %4x\" ,\" %4x\" ,%d" , &status, &tac, &ci, &Act);
642
642
if (scanNum == 4 )
643
643
{
644
644
if (_printDebug == true )
@@ -1124,7 +1124,7 @@ SARA_R5_error_t SARA_R5::clock(uint8_t *y, uint8_t *mo, uint8_t *d,
1124
1124
{
1125
1125
char *searchPtr = strstr (response, " +CCLK:" );
1126
1126
if (searchPtr != NULL )
1127
- scanNum = sscanf (searchPtr, " +CCLK: \" %d/%d/%d,%d:%d:%d%c%d\"\r\n " ,
1127
+ scanNum = sscanf (searchPtr, " +CCLK:\" %d/%d/%d,%d:%d:%d%c%d\"\r\n " ,
1128
1128
&iy, &imo, &id, &ih, &imin, &is, &tzPlusMinus, &itz);
1129
1129
if (scanNum == 8 )
1130
1130
{
@@ -1259,7 +1259,7 @@ SARA_R5_error_t SARA_R5::getUtimeMode(SARA_R5_utime_mode_t *mode, SARA_R5_utime_
1259
1259
int mStore , sStore , scanned = 0 ;
1260
1260
char *searchPtr = strstr (response, " +UTIME:" );
1261
1261
if (searchPtr != NULL )
1262
- scanned = sscanf (searchPtr, " +UTIME: %d,%d\r\n " , &mStore , &sStore );
1262
+ scanned = sscanf (searchPtr, " +UTIME:%d,%d\r\n " , &mStore , &sStore );
1263
1263
m = (SARA_R5_utime_mode_t)mStore ;
1264
1264
s = (SARA_R5_utime_sensor_t)sStore ;
1265
1265
if (scanned == 2 )
@@ -1326,7 +1326,7 @@ SARA_R5_error_t SARA_R5::getUtimeIndication(SARA_R5_utime_urc_configuration_t *c
1326
1326
int cStore, scanned = 0 ;
1327
1327
char *searchPtr = strstr (response, " +UTIMEIND:" );
1328
1328
if (searchPtr != NULL )
1329
- scanned = sscanf (searchPtr, " +UTIMEIND: %d\r\n " , &cStore);
1329
+ scanned = sscanf (searchPtr, " +UTIMEIND:%d\r\n " , &cStore);
1330
1330
c = (SARA_R5_utime_urc_configuration_t)cStore;
1331
1331
if (scanned == 1 )
1332
1332
{
@@ -1392,9 +1392,9 @@ SARA_R5_error_t SARA_R5::getUtimeConfiguration(int32_t *offsetNanoseconds, int32
1392
1392
char *searchPtr = strstr (response, " +UTIMECFG:" );
1393
1393
if (searchPtr != NULL )
1394
1394
#if defined(ARDUINO_ARCH_ESP32) || defined(ARDUINO_ARCH_ESP8266)
1395
- scanned = sscanf (searchPtr, " +UTIMECFG: %d,%d\r\n " , &ons, &os);
1395
+ scanned = sscanf (searchPtr, " +UTIMECFG:%d,%d\r\n " , &ons, &os);
1396
1396
#else
1397
- scanned = sscanf (searchPtr, " +UTIMECFG: %ld,%ld\r\n " , &ons, &os);
1397
+ scanned = sscanf (searchPtr, " +UTIMECFG:%ld,%ld\r\n " , &ons, &os);
1398
1398
#endif
1399
1399
if (scanned == 2 )
1400
1400
{
@@ -1458,7 +1458,7 @@ int8_t SARA_R5::rssi(void)
1458
1458
int scanned = 0 ;
1459
1459
char *searchPtr = strstr (response, " +CSQ:" );
1460
1460
if (searchPtr != NULL )
1461
- scanned = sscanf (searchPtr, " +CSQ: %d,%*d" , &rssi);
1461
+ scanned = sscanf (searchPtr, " +CSQ:%d,%*d" , &rssi);
1462
1462
if (scanned != 1 )
1463
1463
{
1464
1464
rssi = -1 ;
@@ -1502,7 +1502,7 @@ SARA_R5_registration_status_t SARA_R5::registration(bool eps)
1502
1502
const char *startTag = eps ? " +CEREG:" : " +CREG:" ;
1503
1503
char *searchPtr = strstr (response, startTag);
1504
1504
if (searchPtr != NULL ) {
1505
- const char *format = eps ? " +CEREG: %*d,%d" : " +CREG: %*d,%d" ;
1505
+ const char *format = eps ? " +CEREG:%*d,%d" : " +CREG:%*d,%d" ;
1506
1506
scanned = sscanf (searchPtr, format, &status);
1507
1507
}
1508
1508
if (scanned != 1 )
@@ -1668,7 +1668,7 @@ SARA_R5_error_t SARA_R5::getAPN(int cid, String *apn, IPAddress *ip, SARA_R5_pdp
1668
1668
char strApn[128 ];
1669
1669
int ipOct[4 ];
1670
1670
1671
- searchPtr += strlen ( " +CGDCONT: " ) ; // Point to the cid
1671
+ searchPtr += 6 ; // Point to the cid
1672
1672
scanned = sscanf (searchPtr, " %d,\" %[^\" ]\" ,\" %[^\" ]\" ,\" %d.%d.%d.%d" ,
1673
1673
&rcid, strPdpType, strApn,
1674
1674
&ipOct[0 ], &ipOct[1 ], &ipOct[2 ], &ipOct[3 ]);
@@ -1687,13 +1687,13 @@ SARA_R5_error_t SARA_R5::getAPN(int cid, String *apn, IPAddress *ip, SARA_R5_pdp
1687
1687
keepGoing = false ;
1688
1688
}
1689
1689
}
1690
- else // We don't have a match so let's clear the APN and IP address
1690
+ else // We don't have a match so let's clear the APN and IP address
1691
1691
{
1692
- if (apn) *apn = " " ;
1693
- if (pdpType) *pdpType = PDP_TYPE_INVALID;
1694
- if (ip) *ip = {0 , 0 , 0 , 0 };
1695
- keepGoing = false ;
1696
- }
1692
+ if (apn) *apn = " " ;
1693
+ if (pdpType) *pdpType = PDP_TYPE_INVALID;
1694
+ if (ip) *ip = {0 , 0 , 0 , 0 };
1695
+ keepGoing = false ;
1696
+ }
1697
1697
}
1698
1698
}
1699
1699
else
@@ -1731,7 +1731,7 @@ SARA_R5_error_t SARA_R5::getSimStatus(String* code)
1731
1731
char c[16 ];
1732
1732
char *searchPtr = strstr (response, " +CPIN:" );
1733
1733
if (searchPtr != NULL )
1734
- scanned = sscanf (searchPtr, " +CPIN: %s\r\n " , c);
1734
+ scanned = sscanf (searchPtr, " +CPIN:%s\r\n " , c);
1735
1735
if (scanned == 1 )
1736
1736
{
1737
1737
if (code)
@@ -1805,7 +1805,7 @@ SARA_R5_error_t SARA_R5::getSIMstateReportingMode(int *mode)
1805
1805
int scanned = 0 ;
1806
1806
char *searchPtr = strstr (response, " +USIMSTAT:" );
1807
1807
if (searchPtr != NULL )
1808
- scanned = sscanf (searchPtr, " +USIMSTAT: %d\r\n " , &m);
1808
+ scanned = sscanf (searchPtr, " +USIMSTAT:%d\r\n " , &m);
1809
1809
if (scanned == 1 )
1810
1810
{
1811
1811
*mode = m;
@@ -2160,7 +2160,7 @@ SARA_R5_error_t SARA_R5::getPreferredMessageStorage(int *used, int *total, Strin
2160
2160
int scanned = 0 ;
2161
2161
char *searchPtr = strstr (response, " +CPMS:" );
2162
2162
if (searchPtr != NULL )
2163
- scanned = sscanf (searchPtr, " +CPMS: %d,%d" , &u, &t);
2163
+ scanned = sscanf (searchPtr, " +CPMS:%d,%d" , &u, &t);
2164
2164
if (scanned == 2 )
2165
2165
{
2166
2166
if (_printDebug == true )
@@ -2485,7 +2485,7 @@ int SARA_R5::socketOpen(SARA_R5_socket_protocol_t protocol, unsigned int localPo
2485
2485
return -1 ;
2486
2486
}
2487
2487
2488
- sscanf (responseStart, " +USOCR: %d" , &sockId);
2488
+ sscanf (responseStart, " +USOCR:%d" , &sockId);
2489
2489
_lastSocketProtocol[sockId] = (int )protocol;
2490
2490
2491
2491
free (command);
@@ -2763,7 +2763,7 @@ SARA_R5_error_t SARA_R5::socketRead(int socket, int length, char *readDest, int
2763
2763
// Extract the data
2764
2764
char *searchPtr = strstr (response, " +USORD:" );
2765
2765
if (searchPtr != NULL )
2766
- scanNum = sscanf (searchPtr, " +USORD: %d,%d" ,
2766
+ scanNum = sscanf (searchPtr, " +USORD:%d,%d" ,
2767
2767
&socketStore, &readLength);
2768
2768
if (scanNum != 2 )
2769
2769
{
@@ -2876,7 +2876,7 @@ SARA_R5_error_t SARA_R5::socketReadAvailable(int socket, int *length)
2876
2876
{
2877
2877
char *searchPtr = strstr (response, " +USORD:" );
2878
2878
if (searchPtr != NULL )
2879
- scanNum = sscanf (searchPtr, " +USORD: %d,%d" ,
2879
+ scanNum = sscanf (searchPtr, " +USORD:%d,%d" ,
2880
2880
&socketStore, &readLength);
2881
2881
if (scanNum != 2 )
2882
2882
{
@@ -2973,7 +2973,7 @@ SARA_R5_error_t SARA_R5::socketReadUDP(int socket, int length, char *readDest,
2973
2973
// Extract the data
2974
2974
char *searchPtr = strstr (response, " +USORF:" );
2975
2975
if (searchPtr != NULL )
2976
- scanNum = sscanf (searchPtr, " +USORF: %d,\" %d.%d.%d.%d\" ,%d,%d" ,
2976
+ scanNum = sscanf (searchPtr, " +USORF:%d,\" %d.%d.%d.%d\" ,%d,%d" ,
2977
2977
&socketStore, &remoteIPstore[0 ], &remoteIPstore[1 ], &remoteIPstore[2 ], &remoteIPstore[3 ],
2978
2978
&portStore, &readLength);
2979
2979
if (scanNum != 7 )
@@ -3106,7 +3106,7 @@ SARA_R5_error_t SARA_R5::socketReadAvailableUDP(int socket, int *length)
3106
3106
{
3107
3107
char *searchPtr = strstr (response, " +USORF:" );
3108
3108
if (searchPtr != NULL )
3109
- scanNum = sscanf (searchPtr, " +USORF: %d,%d" ,
3109
+ scanNum = sscanf (searchPtr, " +USORF:%d,%d" ,
3110
3110
&socketStore, &readLength);
3111
3111
if (scanNum != 2 )
3112
3112
{
@@ -3275,7 +3275,7 @@ SARA_R5_error_t SARA_R5::querySocketType(int socket, SARA_R5_socket_protocol_t *
3275
3275
{
3276
3276
char *searchPtr = strstr (response, " +USOCTL:" );
3277
3277
if (searchPtr != NULL )
3278
- scanNum = sscanf (searchPtr, " +USOCTL: %d,0,%d" ,
3278
+ scanNum = sscanf (searchPtr, " +USOCTL:%d,0,%d" ,
3279
3279
&socketStore, ¶mVal);
3280
3280
if (scanNum != 2 )
3281
3281
{
@@ -3327,7 +3327,7 @@ SARA_R5_error_t SARA_R5::querySocketLastError(int socket, int *error)
3327
3327
{
3328
3328
char *searchPtr = strstr (response, " +USOCTL:" );
3329
3329
if (searchPtr != NULL )
3330
- scanNum = sscanf (searchPtr, " +USOCTL: %d,1,%d" ,
3330
+ scanNum = sscanf (searchPtr, " +USOCTL:%d,1,%d" ,
3331
3331
&socketStore, ¶mVal);
3332
3332
if (scanNum != 2 )
3333
3333
{
@@ -3378,7 +3378,7 @@ SARA_R5_error_t SARA_R5::querySocketTotalBytesSent(int socket, uint32_t *total)
3378
3378
{
3379
3379
char *searchPtr = strstr (response, " +USOCTL:" );
3380
3380
if (searchPtr != NULL )
3381
- scanNum = sscanf (searchPtr, " +USOCTL: %d,2,%lu" ,
3381
+ scanNum = sscanf (searchPtr, " +USOCTL:^ %d,2,%lu" ,
3382
3382
&socketStore, ¶mVal);
3383
3383
if (scanNum != 2 )
3384
3384
{
@@ -3429,7 +3429,7 @@ SARA_R5_error_t SARA_R5::querySocketTotalBytesReceived(int socket, uint32_t *tot
3429
3429
{
3430
3430
char *searchPtr = strstr (response, " +USOCTL:" );
3431
3431
if (searchPtr != NULL )
3432
- scanNum = sscanf (searchPtr, " +USOCTL: %d,3,%lu" ,
3432
+ scanNum = sscanf (searchPtr, " +USOCTL:%d,3,%lu" ,
3433
3433
&socketStore, ¶mVal);
3434
3434
if (scanNum != 2 )
3435
3435
{
@@ -3480,7 +3480,7 @@ SARA_R5_error_t SARA_R5::querySocketRemoteIPAddress(int socket, IPAddress *addre
3480
3480
{
3481
3481
char *searchPtr = strstr (response, " +USOCTL:" );
3482
3482
if (searchPtr != NULL )
3483
- scanNum = sscanf (searchPtr, " +USOCTL: %d,4,\" %d.%d.%d.%d\" ,%d" ,
3483
+ scanNum = sscanf (searchPtr, " +USOCTL:%d,4,\" %d.%d.%d.%d\" ,%d" ,
3484
3484
&socketStore,
3485
3485
¶mVals[0 ], ¶mVals[1 ], ¶mVals[2 ], ¶mVals[3 ],
3486
3486
¶mVals[4 ]);
@@ -3536,7 +3536,7 @@ SARA_R5_error_t SARA_R5::querySocketStatusTCP(int socket, SARA_R5_tcp_socket_sta
3536
3536
{
3537
3537
char *searchPtr = strstr (response, " +USOCTL:" );
3538
3538
if (searchPtr != NULL )
3539
- scanNum = sscanf (searchPtr, " +USOCTL: %d,10,%d" ,
3539
+ scanNum = sscanf (searchPtr, " +USOCTL:%d,10,%d" ,
3540
3540
&socketStore, ¶mVal);
3541
3541
if (scanNum != 2 )
3542
3542
{
@@ -3587,7 +3587,7 @@ SARA_R5_error_t SARA_R5::querySocketOutUnackData(int socket, uint32_t *total)
3587
3587
{
3588
3588
char *searchPtr = strstr (response, " +USOCTL:" );
3589
3589
if (searchPtr != NULL )
3590
- scanNum = sscanf (searchPtr, " +USOCTL: %d,11,%lu" ,
3590
+ scanNum = sscanf (searchPtr, " +USOCTL:%d,11,%lu" ,
3591
3591
&socketStore, ¶mVal);
3592
3592
if (scanNum != 2 )
3593
3593
{
@@ -3638,7 +3638,7 @@ int SARA_R5::socketGetLastError()
3638
3638
{
3639
3639
char *searchPtr = strstr (response, " +USOER:" );
3640
3640
if (searchPtr != NULL )
3641
- sscanf (searchPtr, " +USOER: %d" , &errorCode);
3641
+ sscanf (searchPtr, " +USOER:%d" , &errorCode);
3642
3642
}
3643
3643
3644
3644
free (command);
@@ -4454,7 +4454,7 @@ SARA_R5_error_t SARA_R5::getNetworkAssignedIPAddress(int profile, IPAddress *add
4454
4454
{
4455
4455
char *searchPtr = strstr (response, " +UPSND:" );
4456
4456
if (searchPtr != NULL )
4457
- scanNum = sscanf (searchPtr, " +UPSND: %d,%d,\" %d.%d.%d.%d\" " ,
4457
+ scanNum = sscanf (searchPtr, " +UPSND:%d,%d,\" %d.%d.%d.%d\" " ,
4458
4458
&profileStore, ¶mTag,
4459
4459
¶mVals[0 ], ¶mVals[1 ], ¶mVals[2 ], ¶mVals[3 ]);
4460
4460
if (scanNum != 6 )
@@ -5104,7 +5104,7 @@ SARA_R5_error_t SARA_R5::getFileSize(String filename, int *size)
5104
5104
}
5105
5105
5106
5106
int fileSize;
5107
- sscanf (responseStart, " +ULSTFILE: %d" , &fileSize);
5107
+ sscanf (responseStart, " +ULSTFILE:%d" , &fileSize);
5108
5108
*size = fileSize;
5109
5109
5110
5110
free (command);
@@ -5420,7 +5420,7 @@ SARA_R5_error_t SARA_R5::getMNOprofile(mobile_network_operator_t *mno)
5420
5420
int scanned = 0 ;
5421
5421
char *searchPtr = strstr (response, " +UMNOPROF:" );
5422
5422
if (searchPtr != NULL )
5423
- scanned = sscanf (searchPtr, " +UMNOPROF: %d,%d,%d,%d" , &oStore, &d, &r, &u);
5423
+ scanned = sscanf (searchPtr, " +UMNOPROF:%d,%d,%d,%d" , &oStore, &d, &r, &u);
5424
5424
o = (mobile_network_operator_t )oStore;
5425
5425
5426
5426
if (scanned >= 1 )
@@ -5830,7 +5830,9 @@ SARA_R5_error_t SARA_R5::parseSocketCloseIndication(String *closeIndication)
5830
5830
int search;
5831
5831
int socket;
5832
5832
5833
- search = closeIndication->indexOf (" UUSOCL:" ) + strlen (" UUSOCL:" );
5833
+ search = closeIndication->indexOf (" UUSOCL:" );
5834
+ search += 7 ;
5835
+ if (closeIndication->charAt (search) == ' ' ) search ++;
5834
5836
5835
5837
// Socket will be first integer, should be single-digit number between 0-6:
5836
5838
socket = closeIndication->substring (search, search + 1 ).toInt ();
0 commit comments