diff --git a/backend/rss.c b/backend/rss.c index 2eb3aac1..af0a323e 100644 --- a/backend/rss.c +++ b/backend/rss.c @@ -1982,7 +1982,7 @@ int rssexpanded(struct zint_symbol *symbol, unsigned char source[], int src_len) elements in the data characters. */ checksum = 0; for(i = 0; i < data_chars; i++) { - row = weight_rows[(((data_chars - 3) / 2) * 21) + i]; + row = weight_rows[(((data_chars - 2) / 2) * 21) + i]; for(j = 0; j < 8; j++) { checksum += (char_widths[i][j] * checksum_weight_exp[(row * 8) + j]); diff --git a/backend/rss.h b/backend/rss.h index 2da7a046..f1463a9b 100644 --- a/backend/rss.h +++ b/backend/rss.h @@ -173,7 +173,7 @@ static int checksum_weight_exp[184] = { /* Table 14 */ 76, 17, 51, 153, 37, 111, 122, 155, 43, 129, 176, 106, 107, 110, 119, 146, 16, 48, 144, 10, 30, 90, 59, 177, - 109, 166, 137, 200, 178, 112, 125, 164, + 109, 116, 137, 200, 178, 112, 125, 164, 70, 210, 208, 202, 184, 130, 179, 115, 134, 191, 151, 31, 93, 68, 204, 190, 148, 22, 66, 198, 172, 94, 71, 2,