From be9e2fd87a9a1b28657a9a88c313ccf197fb7008 Mon Sep 17 00:00:00 2001 From: Robin Stuart Date: Wed, 4 Sep 2019 21:34:20 +0100 Subject: [PATCH] Allow PDF to latch into numeric compaction Logic error prevented numeric compaction in PDF417 and MicroPDF417 Fixes #155 reported by Michelle Dupuis --- backend/pdf417.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/backend/pdf417.c b/backend/pdf417.c index c6c66f2a..595ec1a5 100644 --- a/backend/pdf417.c +++ b/backend/pdf417.c @@ -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 */ @@ -760,6 +761,14 @@ static int pdf417(struct zint_symbol *symbol, unsigned char chaine[], const size for (i = k - 1; i >= 0; i--) { 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;