From 55a18653b36f6ba6d207cf6af3868f7f3d91c11d Mon Sep 17 00:00:00 2001 From: hooper114 Date: Thu, 4 Jun 2009 07:02:55 +0000 Subject: [PATCH] Correction to size selection non-ECC200 --- backend/dmatrix.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/backend/dmatrix.c b/backend/dmatrix.c index 073606c6..26f32165 100644 --- a/backend/dmatrix.c +++ b/backend/dmatrix.c @@ -1208,10 +1208,11 @@ int matrix89(struct zint_symbol *symbol, unsigned char source[]) symbol->option_2 = 0; } - if(symbol->option_2 > symbol_size) { - symbol_size = symbol->option_2; + if((symbol->option_2 - 1) > symbol_size) { + symbol_size = (symbol->option_2 - 1); } - if((symbol->option_2 < symbol_size) && (symbol->option_2 != 0)) { + + if(((symbol->option_2 - 1) < symbol_size) && ((symbol->option_2 - 1) != 0)) { strcpy(symbol->errtxt, "Unable to fit data in specified symbol size"); error_number = WARN_INVALID_OPTION; } @@ -1265,6 +1266,7 @@ int matrix89(struct zint_symbol *symbol, unsigned char source[]) set_module(symbol, 0, i); } for(j = 0; j < width; j++) { + switch(symbol_size) { case 0: if(randomized_stream[tableh1[(i * width) + j]] == '1') { set_module(symbol, i + 1, j + 1); } break; case 1: if(randomized_stream[tableh2[(i * width) + j]] == '1') { set_module(symbol, i + 1, j + 1); } break;