fix manrawdecode last bit missing

This commit is contained in:
Philippe Teuwen 2019-03-14 13:19:16 +01:00
commit f7b0c5e6d6

View file

@ -1368,7 +1368,7 @@ int manrawdecode(uint8_t *bits, size_t *size, uint8_t invert, uint8_t *alignPos)
//find correct start position [alignment] //find correct start position [alignment]
for (k = 0; k < 2; ++k) { for (k = 0; k < 2; ++k) {
for (i = k; i < *size - 3; i += 2) { for (i = k; i < *size - 1; i += 2) {
if (bits[i] == bits[i + 1]) if (bits[i] == bits[i + 1])
errCnt++; errCnt++;
} }
@ -1380,7 +1380,7 @@ int manrawdecode(uint8_t *bits, size_t *size, uint8_t invert, uint8_t *alignPos)
} }
*alignPos = bestRun; *alignPos = bestRun;
//decode //decode
for (i = bestRun; i < *size - 3; i += 2) { for (i = bestRun; i < *size - 1; i += 2) {
if (bits[i] == 1 && (bits[i + 1] == 0)) { if (bits[i] == 1 && (bits[i + 1] == 0)) {
bits[bitnum++] = invert; bits[bitnum++] = invert;
} else if ((bits[i] == 0) && bits[i + 1] == 1) { } else if ((bits[i] == 0) && bits[i + 1] == 1) {