test parse string for $

This commit is contained in:
Rick Sellens 2019-04-17 12:23:58 -04:00
parent 653b565d2a
commit 4d064cb796
1 changed files with 10 additions and 6 deletions

View File

@ -62,12 +62,16 @@ boolean Adafruit_GPS::parse(char *nmea) {
uint16_t sum = parseHex(*(ast+1)) * 16; uint16_t sum = parseHex(*(ast+1)) * 16;
sum += parseHex(*(ast+2)); sum += parseHex(*(ast+2));
// check checksum // check checksum
for (char *p = strchr(nmea,'$')+1; p < ast; p++) { char *p = strchr(nmea,'$');
sum ^= *p; if(p == NULL) return false;
} else{
if (sum != 0) { for (char *p1 = p+1; p1 < ast; p1++) {
// bad checksum :( sum ^= *p1;
return false; }
if (sum != 0) {
// bad checksum :(
return false;
}
} }
} else { } else {
return false; return false;