@@ -300,8 +300,8 @@ bool minmea_scan(const char *sentence, const char *format, ...)
// Extra: fractional time. Saved as microseconds.
if (*field++ == '.') {
- int value = 0;
- int scale = 1000000;
+ uint32_t value = 0;
+ uint32_t scale = 1000000LU;
while (isdigit((unsigned char) *field) && scale > 1) {
value = (value * 10) + (*field++ - '0');
scale /= 10;