Allow PDF to latch into numeric compaction

Logic error prevented numeric compaction in PDF417 and MicroPDF417
Fixes #155 reported by Michelle Dupuis
This commit is contained in:
Robin Stuart 2019-09-04 21:34:20 +01:00
parent f2262f2616
commit be9e2fd87a

View File

@ -89,7 +89,8 @@ int quelmode(char codeascii) {
int mode = BYT;
if ((codeascii == '\t') || (codeascii == '\n') || (codeascii == '\r') || ((codeascii >= ' ') && (codeascii <= '~'))) {
mode = TEX;
} else if ((codeascii >= '0') && (codeascii <= '9')) {
}
if ((codeascii >= '0') && (codeascii <= '9')) {
mode = NUM;
}
/* 876 */
@ -761,6 +762,14 @@ static int pdf417(struct zint_symbol *symbol, unsigned char chaine[], const size
chainemc[mclength++] = mccorrection[i] ? 929 - mccorrection[i] : 0;
}
if (debug) {
printf("Complete CW string:\n");
for (i = 0; i < mclength; i++) {
printf("%d ", chainemc[i]);
}
printf("\n");
}
/* 818 - The CW string is finished */
c1 = (mclength / symbol->option_2 - 1) / 3;
c2 = symbol->option_1 * 3 + (mclength / symbol->option_2 - 1) % 3;