1
0
mirror of https://git.code.sf.net/p/zint/code synced 2026-01-24 20:36:03 +00:00

DATAMATRIX: fix mis-encodation of X12 and EDIFACT non-encodables by

checking in main dm200encode() loop, props Alex Geller;
  prefix routines and tables with "dm_"
reedsol.c: add const to a few variables
This commit is contained in:
gitlost
2021-11-08 13:05:37 +00:00
parent f7ad0ed1e3
commit 68566fefd2
7 changed files with 285 additions and 211 deletions

View File

@@ -136,9 +136,9 @@ INTERNAL void rs_encode(const rs_t *rs, const int datalen, const unsigned char *
memset(res, 0, nsym);
for (i = 0; i < datalen; i++) {
unsigned int m = res[nsym - 1] ^ data[i];
const unsigned int m = res[nsym - 1] ^ data[i];
if (m) {
unsigned int log_m = logt[m];
const unsigned int log_m = logt[m];
for (k = nsym - 1; k > 0; k--) {
if (rspoly[k])
res[k] = (unsigned char) (res[k - 1] ^ alog[log_m + logt[rspoly[k]]]);
@@ -164,9 +164,9 @@ INTERNAL void rs_encode_uint(const rs_t *rs, const int datalen, const unsigned i
memset(res, 0, sizeof(unsigned int) * nsym);
for (i = 0; i < datalen; i++) {
unsigned int m = res[nsym - 1] ^ data[i];
const unsigned int m = res[nsym - 1] ^ data[i];
if (m) {
unsigned int log_m = logt[m];
const unsigned int log_m = logt[m];
for (k = nsym - 1; k > 0; k--) {
if (rspoly[k])
res[k] = res[k - 1] ^ alog[log_m + logt[rspoly[k]]];
@@ -258,9 +258,9 @@ INTERNAL void rs_uint_encode(const rs_uint_t *rs_uint, const int datalen, const
return;
}
for (i = 0; i < datalen; i++) {
unsigned int m = res[nsym - 1] ^ data[i];
const unsigned int m = res[nsym - 1] ^ data[i];
if (m) {
unsigned int log_m = logt[m];
const unsigned int log_m = logt[m];
for (k = nsym - 1; k > 0; k--) {
if (rspoly[k])
res[k] = res[k - 1] ^ alog[log_m + logt[rspoly[k]]];