mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
gs1_verify: additional AIs 7240, 235, 417, 7040, 8026; updated checks 7007, 8008
This commit is contained in:
parent
3b87cd4ec6
commit
42587c2d21
@ -72,10 +72,10 @@ void itostr(char ai_string[], int ai_value) {
|
||||
|
||||
int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const size_t src_len, char reduced[]) {
|
||||
int i, j, last_ai, ai_latch;
|
||||
char ai_string[6];
|
||||
char ai_string[7]; /* 6 char max "(NNNN)" */
|
||||
int bracket_level, max_bracket_level, ai_length, max_ai_length, min_ai_length;
|
||||
int ai_count;
|
||||
int ai_max = ustrchr_cnt(source, src_len, '[');
|
||||
int ai_max = ustrchr_cnt(source, src_len, '[') + 1; /* Plus 1 so non-zero */
|
||||
#ifndef _MSC_VER
|
||||
int ai_value[ai_max], ai_location[ai_max], data_location[ai_max], data_length[ai_max];
|
||||
#else
|
||||
@ -238,6 +238,7 @@ int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const s
|
||||
break;
|
||||
|
||||
// Length 4 Fixed
|
||||
case 7040: // UIC+EXT
|
||||
case 8111: // POINTS
|
||||
if (data_length[i] != 4) {
|
||||
error_latch = 1;
|
||||
@ -279,6 +280,7 @@ int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const s
|
||||
case 414: // LOC NO
|
||||
case 415: // PAY TO
|
||||
case 416: // PROD/SERV LOC
|
||||
case 417: // PARTY GLN
|
||||
case 7001: // NSN
|
||||
if (data_length[i] != 13) {
|
||||
error_latch = 1;
|
||||
@ -312,6 +314,7 @@ int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const s
|
||||
case 8006: // ITIP
|
||||
case 8017: // GSRN PROVIDER
|
||||
case 8018: // GSRN RECIPIENT
|
||||
case 8026: // ITIP CONTENT
|
||||
if (data_length[i] != 18) {
|
||||
error_latch = 1;
|
||||
} else {
|
||||
@ -401,6 +404,7 @@ int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const s
|
||||
case 712: // NHRN CN
|
||||
case 713: // NHRN DRN
|
||||
case 714: // NHRN AIM
|
||||
case 7240: // PROTOCOL
|
||||
case 8002: // CMT NO
|
||||
case 8012: // VERSION
|
||||
if (data_length[i] > 20) {
|
||||
@ -419,6 +423,15 @@ int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const s
|
||||
}
|
||||
break;
|
||||
|
||||
// Length 28 Max
|
||||
case 235: // TPX
|
||||
if (data_length[i] > 28) {
|
||||
error_latch = 1;
|
||||
} else {
|
||||
error_latch = 0;
|
||||
}
|
||||
break;
|
||||
|
||||
// Length 30 Max
|
||||
case 240: // ADDITIONAL ID
|
||||
case 241: // CUST PART NO
|
||||
@ -577,7 +590,7 @@ int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const s
|
||||
}
|
||||
|
||||
if (ai_value[i] == 7007) { // HARVEST DATE
|
||||
if ((data_length[i] < 6) || (data_length[i] > 12)) {
|
||||
if ((data_length[i] != 6) && (data_length[i] != 12)) {
|
||||
error_latch = 1;
|
||||
} else {
|
||||
error_latch = 0;
|
||||
@ -609,7 +622,7 @@ int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const s
|
||||
}
|
||||
|
||||
if (ai_value[i] == 8008) { // PROD TIME
|
||||
if ((data_length[i] < 9) || (data_length[i] > 12)) {
|
||||
if ((data_length[i] != 8) && (data_length[i] != 10) && (data_length[i] != 12)) {
|
||||
error_latch = 1;
|
||||
} else {
|
||||
error_latch = 0;
|
||||
|
@ -264,10 +264,532 @@ static void test_hrt(void)
|
||||
testFinish();
|
||||
}
|
||||
|
||||
extern int gs1_verify(struct zint_symbol *symbol, const unsigned char source[], const size_t src_len, char reduced[]);
|
||||
|
||||
static void test_gs1_verify(void)
|
||||
{
|
||||
testStart("");
|
||||
|
||||
int ret;
|
||||
struct item {
|
||||
unsigned char* data;
|
||||
int ret;
|
||||
char* expected;
|
||||
};
|
||||
// s/\/\*[ 0-9]*\*\//\=printf("\/*%3d*\/", line(".") - line("'<"))
|
||||
struct item data[] = {
|
||||
/* 0*/ { "", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 1*/ { "[", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 2*/ { "[]12", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 3*/ { "[12345]12", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 4*/ { "[9999]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 5*/ { "[[01]]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 6*/ { "[20]1\n", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 7*/ { "[20]1\x80", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 8*/ { "[00]123456789012345678", 0, "00123456789012345678" },
|
||||
/* 9*/ { "[00]12345678901234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 10*/ { "[01]12345678901234", 0, "0112345678901234" },
|
||||
/* 11*/ { "[01]123456789012345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 12*/ { "[02]12345678901234", 0, "0212345678901234" },
|
||||
/* 13*/ { "[02]1234567890123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 14*/ { "[03]12345678901234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 15*/ { "[04]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 16*/ { "[05]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 17*/ { "[06]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 18*/ { "[07]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 19*/ { "[08]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 20*/ { "[09]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 21*/ { "[10]ABCD123456", 0, "10ABCD123456" },
|
||||
/* 22*/ { "[10]123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 23*/ { "[100]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 24*/ { "[11]990102", 0, "11990102" },
|
||||
/* 25*/ { "[11]9901023", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 26*/ { "[12]000100", 0, "12000100" },
|
||||
/* 27*/ { "[12]00010", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 28*/ { "[13]991301", 0, "13991301" },
|
||||
/* 29*/ { "[13]9913011", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 30*/ { "[14]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 31*/ { "[15]021231", 0, "15021231" },
|
||||
/* 32*/ { "[15]02123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 33*/ { "[16]000000", 0, "16000000" },
|
||||
/* 34*/ { "[16]00000", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 35*/ { "[17]010200", 0, "17010200" },
|
||||
/* 36*/ { "[17]0102000", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 37*/ { "[18]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 38*/ { "[19]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 39*/ { "[20]12", 0, "2012" },
|
||||
/* 40*/ { "[20]1", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 41*/ { "[200]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 42*/ { "[21]A12345678", 0, "21A12345678" },
|
||||
/* 43*/ { "[21]123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 44*/ { "[22]abcdefghijklmnopqrst", 0, "22abcdefghijklmnopqrst" },
|
||||
/* 45*/ { "[22]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 46*/ { "[23]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 47*/ { "[235]1abcdefghijklmnopqrstuvwxyz0", 0, "2351abcdefghijklmnopqrstuvwxyz0" },
|
||||
/* 48*/ { "[235]1abcdefghijklmnopqrstuvwxyz01", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 49*/ { "[24]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 50*/ { "[240]abcdefghijklmnopqrstuvwxyz1234", 0, "240abcdefghijklmnopqrstuvwxyz1234" },
|
||||
/* 51*/ { "[240]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 52*/ { "[241]abcdefghijklmnopqrstuvwxyz1234", 0, "241abcdefghijklmnopqrstuvwxyz1234" },
|
||||
/* 53*/ { "[241]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 54*/ { "[242]12345", 0, "24212345" },
|
||||
/* 55*/ { "[242]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 56*/ { "[243]abcdefghijklmnopqrst", 0, "243abcdefghijklmnopqrst" },
|
||||
/* 57*/ { "[243]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 58*/ { "[244]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 59*/ { "[249]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 60*/ { "[25]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 61*/ { "[250]abcdefghijklmnopqrstuvwxyz1234", 0, "250abcdefghijklmnopqrstuvwxyz1234" },
|
||||
/* 62*/ { "[250]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 63*/ { "[251]abcdefghijklmnopqrstuvwxyz1234", 0, "251abcdefghijklmnopqrstuvwxyz1234" },
|
||||
/* 64*/ { "[251]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 65*/ { "[252]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 66*/ { "[253]131313131313412345678901234567", 0, "253131313131313412345678901234567" },
|
||||
/* 67*/ { "[253]13131313131341234567890123345678", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 68*/ { "[254]abcdefghijklmnopqrst", 0, "254abcdefghijklmnopqrst" },
|
||||
/* 69*/ { "[254]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 70*/ { "[255]1313131313134123456789012", 0, "2551313131313134123456789012" },
|
||||
/* 71*/ { "[255]13131313131341234567890123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 72*/ { "[256]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 73*/ { "[259]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 74*/ { "[26]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 75*/ { "[27]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 76*/ { "[28]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 77*/ { "[29]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 78*/ { "[30]12345678", 0, "3012345678" },
|
||||
/* 79*/ { "[30]123456789", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 80*/ { "[3000]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 81*/ { "[31]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 82*/ { "[3100]123456", 0, "3100123456" },
|
||||
/* 83*/ { "[3100]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 84*/ { "[3101]123456", 0, "3101123456" },
|
||||
/* 85*/ { "[3101]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 86*/ { "[3109]123456", 0, "3109123456" },
|
||||
/* 87*/ { "[3110]123456", 0, "3110123456" },
|
||||
/* 88*/ { "[3110]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 89*/ { "[3119]123456", 0, "3119123456" },
|
||||
/* 90*/ { "[3120]123456", 0, "3120123456" },
|
||||
/* 91*/ { "[3120]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 92*/ { "[3129]123456", 0, "3129123456" },
|
||||
/* 93*/ { "[3130]123456", 0, "3130123456" },
|
||||
/* 94*/ { "[3130]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 95*/ { "[3139]123456", 0, "3139123456" },
|
||||
/* 96*/ { "[3140]123456", 0, "3140123456" },
|
||||
/* 97*/ { "[3140]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/* 98*/ { "[3149]123456", 0, "3149123456" },
|
||||
/* 99*/ { "[3150]123456", 0, "3150123456" },
|
||||
/*100*/ { "[3150]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*101*/ { "[3159]123456", 0, "3159123456" },
|
||||
/*102*/ { "[3160]123456", 0, "3160123456" },
|
||||
/*103*/ { "[3160]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*104*/ { "[3169]123456", 0, "3169123456" },
|
||||
/*105*/ { "[3170]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*106*/ { "[3180]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*107*/ { "[3190]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*108*/ { "[32]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*109*/ { "[3200]123456", 0, "3200123456" },
|
||||
/*110*/ { "[3200]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*111*/ { "[3210]123456", 0, "3210123456" },
|
||||
/*112*/ { "[3210]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*113*/ { "[3220]123456", 0, "3220123456" },
|
||||
/*114*/ { "[3220]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*115*/ { "[3230]123456", 0, "3230123456" },
|
||||
/*116*/ { "[3240]123456", 0, "3240123456" },
|
||||
/*117*/ { "[3250]123456", 0, "3250123456" },
|
||||
/*118*/ { "[3260]123456", 0, "3260123456" },
|
||||
/*119*/ { "[3270]123456", 0, "3270123456" },
|
||||
/*120*/ { "[3280]123456", 0, "3280123456" },
|
||||
/*121*/ { "[3290]123456", 0, "3290123456" },
|
||||
/*122*/ { "[3290]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*123*/ { "[3299]123456", 0, "3299123456" },
|
||||
/*124*/ { "[33]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*125*/ { "[3300]123456", 0, "3300123456" },
|
||||
/*126*/ { "[3300]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*127*/ { "[3310]123456", 0, "3310123456" },
|
||||
/*128*/ { "[3310]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*129*/ { "[3320]123456", 0, "3320123456" },
|
||||
/*130*/ { "[3330]123456", 0, "3330123456" },
|
||||
/*131*/ { "[3340]123456", 0, "3340123456" },
|
||||
/*132*/ { "[3350]123456", 0, "3350123456" },
|
||||
/*133*/ { "[3360]123456", 0, "3360123456" },
|
||||
/*134*/ { "[3370]123456", 0, "3370123456" },
|
||||
/*135*/ { "[3370]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*136*/ { "[3379]123456", 0, "3379123456" },
|
||||
/*137*/ { "[3380]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*138*/ { "[3390]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*139*/ { "[34]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*140*/ { "[3400]123456", 0, "3400123456" },
|
||||
/*141*/ { "[3400]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*142*/ { "[3410]123456", 0, "3410123456" },
|
||||
/*143*/ { "[3410]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*144*/ { "[3420]123456", 0, "3420123456" },
|
||||
/*145*/ { "[3430]123456", 0, "3430123456" },
|
||||
/*146*/ { "[3440]123456", 0, "3440123456" },
|
||||
/*147*/ { "[3450]123456", 0, "3450123456" },
|
||||
/*148*/ { "[3460]123456", 0, "3460123456" },
|
||||
/*149*/ { "[3470]123456", 0, "3470123456" },
|
||||
/*150*/ { "[3480]123456", 0, "3480123456" },
|
||||
/*151*/ { "[3490]123456", 0, "3490123456" },
|
||||
/*152*/ { "[3490]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*153*/ { "[3499]123456", 0, "3499123456" },
|
||||
/*154*/ { "[35]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*155*/ { "[3500]123456", 0, "3500123456" },
|
||||
/*156*/ { "[3500]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*157*/ { "[3510]123456", 0, "3510123456", },
|
||||
/*158*/ { "[3510]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*159*/ { "[3520]123456", 0, "3520123456", },
|
||||
/*160*/ { "[3530]123456", 0, "3530123456", },
|
||||
/*161*/ { "[3540]123456", 0, "3540123456", },
|
||||
/*162*/ { "[3550]123456", 0, "3550123456", },
|
||||
/*163*/ { "[3560]123456", 0, "3560123456", },
|
||||
/*164*/ { "[3570]123456", 0, "3570123456", },
|
||||
/*165*/ { "[3579]123456", 0, "3579123456" },
|
||||
/*166*/ { "[3580]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*167*/ { "[3590]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*168*/ { "[36]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*169*/ { "[3600]123456", 0, "3600123456" },
|
||||
/*170*/ { "[3600]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*171*/ { "[3610]123456", 0, "3610123456" },
|
||||
/*172*/ { "[3610]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*173*/ { "[3620]123456", 0, "3620123456", },
|
||||
/*174*/ { "[3630]123456", 0, "3630123456", },
|
||||
/*175*/ { "[3640]123456", 0, "3640123456", },
|
||||
/*176*/ { "[3650]123456", 0, "3650123456", },
|
||||
/*177*/ { "[3660]123456", 0, "3660123456", },
|
||||
/*178*/ { "[3670]123456", 0, "3670123456", },
|
||||
/*179*/ { "[3680]123456", 0, "3680123456", },
|
||||
/*180*/ { "[3680]123456", 0, "3680123456", },
|
||||
/*181*/ { "[3680]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*182*/ { "[3690]123456", 0, "3690123456" },
|
||||
/*183*/ { "[3699]123456", 0, "3699123456" },
|
||||
/*184*/ { "[37]12345678", 0, "3712345678" },
|
||||
/*185*/ { "[37]123456789", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*186*/ { "[3700]12345678", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*187*/ { "[38]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*188*/ { "[3800]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*189*/ { "[39]123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*190*/ { "[3900]123456789012345", 0, "3900123456789012345" },
|
||||
/*191*/ { "[3900]1234567890123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*192*/ { "[3909]123456789012345", 0, "3909123456789012345" },
|
||||
/*193*/ { "[3910]123123456789012345", 0, "3910123123456789012345" },
|
||||
/*194*/ { "[3910]1231234567890123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*195*/ { "[3910]123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*196*/ { "[3920]123456789012345", 0, "3920123456789012345" },
|
||||
/*197*/ { "[3920]1234567890123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*198*/ { "[3930]123123456789012345", 0, "3930123123456789012345" },
|
||||
/*199*/ { "[3930]1231234567890123456", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*200*/ { "[3930]123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*201*/ { "[3940]1234", 0, "39401234" },
|
||||
/*202*/ { "[3940]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*203*/ { "[3940]123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*204*/ { "[3949]1234", 0, "39491234" },
|
||||
/*205*/ { "[3950]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*206*/ { "[3960]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*207*/ { "[3970]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*208*/ { "[3980]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*209*/ { "[3999]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*210*/ { "[40]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*211*/ { "[400]123456789012345678901234567890", 0, "400123456789012345678901234567890" },
|
||||
/*212*/ { "[400]1234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*213*/ { "[401]1234abcdefghijklmnopqrstuvwxyz", 0, "4011234abcdefghijklmnopqrstuvwxyz" },
|
||||
/*214*/ { "[401]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*215*/ { "[402]13131313131313132", 0, "40213131313131313132" },
|
||||
/*216*/ { "[402]1313131313131313", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*217*/ { "[403]abcdefghijklmnopqrstuvwxyz1234", 0, "403abcdefghijklmnopqrstuvwxyz1234" },
|
||||
/*218*/ { "[403]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*219*/ { "[404]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*220*/ { "[409]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*221*/ { "[410]3898765432108", 0, "4103898765432108" },
|
||||
/*222*/ { "[410]12345678901234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*223*/ { "[411]1313131313134", 0, "4111313131313134" },
|
||||
/*224*/ { "[411]13131313131", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*225*/ { "[412]1313131313134", 0, "4121313131313134" },
|
||||
/*226*/ { "[412]13131313131", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*227*/ { "[413]1313131313134", 0, "4131313131313134" },
|
||||
/*228*/ { "[413]13131313131", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*229*/ { "[414]1313131313134", 0, "4141313131313134" },
|
||||
/*230*/ { "[414]13131313131", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*231*/ { "[415]1313131313134", 0, "4151313131313134" },
|
||||
/*232*/ { "[415]13131313131", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*233*/ { "[416]1313131313134", 0, "4161313131313134" },
|
||||
/*234*/ { "[416]13131313131", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*235*/ { "[417]1313131313134", 0, "4171313131313134" },
|
||||
/*236*/ { "[417]13131313131", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*237*/ { "[418]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*238*/ { "[419]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*239*/ { "[420]abcdefghijklmnopqrst", 0, "420abcdefghijklmnopqrst" },
|
||||
/*240*/ { "[420]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*241*/ { "[421]123abcdefghi", 0, "421123abcdefghi" },
|
||||
/*242*/ { "[421]123abcdefghij", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*243*/ { "[422]123", 0, "422123" },
|
||||
/*244*/ { "[422]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*245*/ { "[422]12", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*246*/ { "[423]123123123123123", 0, "423123123123123123" },
|
||||
/*247*/ { "[423]1231231231231231", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*248*/ { "[423]12", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*249*/ { "[424]123", 0, "424123" },
|
||||
/*250*/ { "[424]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*251*/ { "[424]12", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*252*/ { "[425]123123123123123", 0, "425123123123123123" },
|
||||
/*253*/ { "[425]1231231231231231", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*254*/ { "[425]12", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*255*/ { "[426]123", 0, "426123" },
|
||||
/*256*/ { "[426]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*257*/ { "[426]12", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*258*/ { "[427]abc", 0, "427abc" },
|
||||
/*259*/ { "[427]abcd", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*260*/ { "[428]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*261*/ { "[429]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*262*/ { "[430]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*263*/ { "[499]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*264*/ { "[50]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*265*/ { "[500]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*266*/ { "[5000]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*267*/ { "[51]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*268*/ { "[59]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*269*/ { "[60]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*270*/ { "[600]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*271*/ { "[6000]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*272*/ { "[61]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*273*/ { "[69]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*274*/ { "[70]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*275*/ { "[700]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*276*/ { "[7000]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*277*/ { "[7001]1234567890123", 0, "70011234567890123" },
|
||||
/*278*/ { "[7001]123456789012", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*279*/ { "[7002]abcdefghijklmnopqrstuvwxyz1234", 0, "7002abcdefghijklmnopqrstuvwxyz1234" },
|
||||
/*280*/ { "[7002]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*281*/ { "[7003]1212121212", 0, "70031212121212" },
|
||||
/*282*/ { "[7003]121212121", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*283*/ { "[7004]1234", 0, "70041234" },
|
||||
/*284*/ { "[7004]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*285*/ { "[7005]abcdefghijkl", 0, "7005abcdefghijkl" },
|
||||
/*286*/ { "[7005]abcdefghijklm", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*287*/ { "[7006]200132", 0, "7006200132" },
|
||||
/*288*/ { "[7006]2001320", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*289*/ { "[7007]010101121212", 0, "7007010101121212" },
|
||||
/*290*/ { "[7007]01010112121", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*291*/ { "[7007]121212", 0, "7007121212" },
|
||||
/*292*/ { "[7007]12121", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*293*/ { "[7007]1212121", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*294*/ { "[7008]abc", 0, "7008abc" },
|
||||
/*295*/ { "[7008]abcd", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*296*/ { "[7009]abcdefghij", 0, "7009abcdefghij" },
|
||||
/*297*/ { "[7009]abcdefghijk", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*298*/ { "[7010]01", 0, "701001" },
|
||||
/*299*/ { "[7010]1", 0, "70101" },
|
||||
/*300*/ { "[7010]012", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*301*/ { "[7011]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*302*/ { "[7012]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*303*/ { "[7019]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*304*/ { "[7020]abcdefghijklmnopqrst", 0, "7020abcdefghijklmnopqrst" },
|
||||
/*305*/ { "[7020]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*306*/ { "[7021]abcdefghijklmnopqrst", 0, "7021abcdefghijklmnopqrst" },
|
||||
/*307*/ { "[7021]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*308*/ { "[7022]abcdefghijklmnopqrst", 0, "7022abcdefghijklmnopqrst" },
|
||||
/*309*/ { "[7022]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*310*/ { "[7023]1234abcdefghijklmnopqrstuvwxyz", 0, "70231234abcdefghijklmnopqrstuvwxyz" },
|
||||
/*311*/ { "[7023]1234abcdefghijklmnopqrstuvwxyza", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*312*/ { "[7024]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*313*/ { "[7025]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*314*/ { "[7029]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*315*/ { "[7030]123abcdefghijklmnopqrstuvwxyza", 0, "7030123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*316*/ { "[7030]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*317*/ { "[7031]123abcdefghijklmnopqrstuvwxyza", 0, "7031123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*318*/ { "[7031]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*319*/ { "[7032]123abcdefghijklmnopqrstuvwxyza", 0, "7032123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*320*/ { "[7033]123abcdefghijklmnopqrstuvwxyza", 0, "7033123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*321*/ { "[7034]123abcdefghijklmnopqrstuvwxyza", 0, "7034123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*322*/ { "[7035]123abcdefghijklmnopqrstuvwxyza", 0, "7035123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*323*/ { "[7036]123abcdefghijklmnopqrstuvwxyza", 0, "7036123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*324*/ { "[7037]123abcdefghijklmnopqrstuvwxyza", 0, "7037123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*325*/ { "[7038]123abcdefghijklmnopqrstuvwxyza", 0, "7038123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*326*/ { "[7039]123abcdefghijklmnopqrstuvwxyza", 0, "7039123abcdefghijklmnopqrstuvwxyza" },
|
||||
/*327*/ { "[7039]123abcdefghijklmnopqrstuvwxyzab", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*328*/ { "[7040]1abc", 0, "70401abc" },
|
||||
/*329*/ { "[7040]1ab", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*330*/ { "[7040]1abcd", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*331*/ { "[7041]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*332*/ { "[7042]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*333*/ { "[7050]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*334*/ { "[7090]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*335*/ { "[7099]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*336*/ { "[71]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*337*/ { "[710]abcdefghijklmnopqrst", 0, "710abcdefghijklmnopqrst" },
|
||||
/*338*/ { "[710]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*339*/ { "[711]abcdefghijklmnopqrst", 0, "711abcdefghijklmnopqrst" },
|
||||
/*340*/ { "[711]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*341*/ { "[712]abcdefghijklmnopqrst", 0, "712abcdefghijklmnopqrst" },
|
||||
/*342*/ { "[712]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*343*/ { "[713]abcdefghijklmnopqrst", 0, "713abcdefghijklmnopqrst" },
|
||||
/*344*/ { "[713]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*345*/ { "[714]abcdefghijklmnopqrst", 0, "714abcdefghijklmnopqrst" },
|
||||
/*346*/ { "[714]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*347*/ { "[715]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*348*/ { "[716]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*349*/ { "[719]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*350*/ { "[7100]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*351*/ { "[72]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*352*/ { "[7200]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*353*/ { "[7210]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*354*/ { "[7220]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*355*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzab", 0, "7230EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*356*/ { "[7230]EMabcdefghijklmnopqrstuvwxyzabc", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*357*/ { "[7230]EM", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*358*/ { "[7231]EMabcdefghijklmnopqrstuvwxyzab", 0, "7231EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*359*/ { "[7232]EMabcdefghijklmnopqrstuvwxyzab", 0, "7232EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*360*/ { "[7233]EMabcdefghijklmnopqrstuvwxyzab", 0, "7233EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*361*/ { "[7234]EMabcdefghijklmnopqrstuvwxyzab", 0, "7234EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*362*/ { "[7235]EMabcdefghijklmnopqrstuvwxyzab", 0, "7235EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*363*/ { "[7236]EMabcdefghijklmnopqrstuvwxyzab", 0, "7236EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*364*/ { "[7237]EMabcdefghijklmnopqrstuvwxyzab", 0, "7237EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*365*/ { "[7238]EMabcdefghijklmnopqrstuvwxyzab", 0, "7238EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*366*/ { "[7239]EMabcdefghijklmnopqrstuvwxyzab", 0, "7239EMabcdefghijklmnopqrstuvwxyzab" },
|
||||
/*367*/ { "[7239]E", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*368*/ { "[7240]abcdefghijklmnopqrst", 0, "7240abcdefghijklmnopqrst" },
|
||||
/*369*/ { "[7240]abcdefghijklmnopqrstu", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*370*/ { "[7241]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*371*/ { "[7249]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*372*/ { "[7250]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*373*/ { "[7299]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*374*/ { "[73]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*375*/ { "[7300]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*376*/ { "[74]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*377*/ { "[7400]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*378*/ { "[79]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*379*/ { "[7900]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*380*/ { "[7999]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*381*/ { "[80]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*382*/ { "[800]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*383*/ { "[8000]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*384*/ { "[8001]12345678901234", 0, "800112345678901234" },
|
||||
/*385*/ { "[8001]1234123456789012345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*386*/ { "[8002]abcdefghijklmnopqrst", 0, "8002abcdefghijklmnopqrst" },
|
||||
/*387*/ { "[8002]abcdefghijklmnopqrstuv", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*388*/ { "[8003]01234567890123abcdefghijklmnop", 0, "800301234567890123abcdefghijklmnop" },
|
||||
/*389*/ { "[8004]abcdefghijklmnopqrstuvwxyz1234", 0, "8004abcdefghijklmnopqrstuvwxyz1234" },
|
||||
/*390*/ { "[8004]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*391*/ { "[8005]123456", 0, "8005123456" },
|
||||
/*392*/ { "[8005]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*393*/ { "[8005]1234567", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*394*/ { "[8006]123456789012341212", 0, "8006123456789012341212" },
|
||||
/*395*/ { "[8006]12345678901234121", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*396*/ { "[8006]1234567890123412123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*397*/ { "[8007]abcdefghijklmnopqrstuvwxyz12345678", 0, "8007abcdefghijklmnopqrstuvwxyz12345678" },
|
||||
/*398*/ { "[8007]abcdefghijklmnopqrstuvwxyz123456789", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*399*/ { "[8008]123456121212", 0, "8008123456121212" },
|
||||
/*400*/ { "[8008]1234561212", 0, "80081234561212" },
|
||||
/*401*/ { "[8008]12345612", 0, "800812345612" },
|
||||
/*402*/ { "[8008]1234561", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*403*/ { "[8008]123456121", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*404*/ { "[8008]12345612121", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*405*/ { "[8008]1234561212123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*406*/ { "[8009]12345678901234567890123456789012345678901234567890", 0, "800912345678901234567890123456789012345678901234567890" },
|
||||
/*407*/ { "[8009]123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*408*/ { "[8010]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*409*/ { "[8011]123456789012", 0, "8011123456789012" },
|
||||
/*410*/ { "[8011]1234567890123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*411*/ { "[8012]abcdefghijklmnopqrst", 0, "8012abcdefghijklmnopqrst" },
|
||||
/*412*/ { "[8012]abcdefghijklmnopqrstuv", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*413*/ { "[8013]1234abcdefghijklmnopqrstuvwxyz", 0, "80131234abcdefghijklmnopqrstuvwxyz" },
|
||||
/*414*/ { "[8013]1234abcdefghijklmnopqrstuvwxyz1", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*415*/ { "[8014]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*416*/ { "[8016]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*417*/ { "[8017]313131313131313139", 0, "8017313131313131313139" },
|
||||
/*418*/ { "[8017]31313131313131313", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*419*/ { "[8017]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*420*/ { "[8018]313131313131313139", 0, "8018313131313131313139" },
|
||||
/*421*/ { "[8018]31313131313131313", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*422*/ { "[8018]3131313131313131390", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*423*/ { "[8019]1234567890", 0, "80191234567890" },
|
||||
/*424*/ { "[8019]12345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*425*/ { "[8020]abcdefghijklmnopqrstuvwxy", 0, "8020abcdefghijklmnopqrstuvwxy" },
|
||||
/*426*/ { "[8020]abcdefghijklmnopqrstuvwxyz", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*427*/ { "[8021]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*428*/ { "[8025]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*429*/ { "[8026]123456789012341212", 0, "8026123456789012341212" },
|
||||
/*430*/ { "[8026]1234567890123451212", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*431*/ { "[8026]12345678901234512", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*432*/ { "[8027]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*433*/ { "[8030]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*434*/ { "[8040]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*435*/ { "[8090]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*436*/ { "[8099]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*437*/ { "[81]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*438*/ { "[8100]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*439*/ { "[8109]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*440*/ { "[8110]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "81101234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*441*/ { "[8110]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*442*/ { "[8111]1234", 0, "81111234" },
|
||||
/*443*/ { "[8111]12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*444*/ { "[8111]123", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*445*/ { "[8112]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "81121234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*446*/ { "[8112]12345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*447*/ { "[8113]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*448*/ { "[8120]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*449*/ { "[8190]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*450*/ { "[8199]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*451*/ { "[82]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*452*/ { "[8200]1234567890123456789012345678901234567890123456789012345678901234567890", 0, "82001234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*453*/ { "[8201]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*454*/ { "[8210]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*455*/ { "[8290]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*456*/ { "[8299]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*457*/ { "[83]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*458*/ { "[8300]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*459*/ { "[89]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*460*/ { "[8900]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*461*/ { "[90]abcdefghijklmnopqrstuvwxyz1234", 0, "90abcdefghijklmnopqrstuvwxyz1234" },
|
||||
/*462*/ { "[9000]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*463*/ { "[90]abcdefghijklmnopqrstuvwxyz12345", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*464*/ { "[91]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "91123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*465*/ { "[91]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*466*/ { "[92]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "92123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*467*/ { "[92]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*468*/ { "[93]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "93123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*469*/ { "[93]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*470*/ { "[94]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "94123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*471*/ { "[94]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*472*/ { "[98]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "98123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*473*/ { "[98]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*474*/ { "[99]123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890", 0, "99123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890" },
|
||||
/*475*/ { "[99]1234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*476*/ { "[9900]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*477*/ { "[9999]1234", ZINT_ERROR_INVALID_DATA, "" },
|
||||
/*478*/ { "[01]12345678901234[7006]200101", 0, "01123456789012347006200101" },
|
||||
/*479*/ { "[3900]1234567890[01]12345678901234", 0, "39001234567890[0112345678901234" },
|
||||
/*480*/ { "[253]12345678901234[3901]12345678901234[20]12", 0, "25312345678901234[390112345678901234[2012" },
|
||||
/*481*/ { "[253]12345678901234[01]12345678901234[3901]12345678901234[20]12", 0, "25312345678901234[0112345678901234390112345678901234[2012" },
|
||||
};
|
||||
int data_size = sizeof(data) / sizeof(struct item);
|
||||
|
||||
char reduced[1024];
|
||||
|
||||
for (int i = 0; i < data_size; i++) {
|
||||
|
||||
struct zint_symbol* symbol = ZBarcode_Create();
|
||||
assert_nonnull(symbol, "Symbol not created\n");
|
||||
|
||||
int length = strlen(data[i].data);
|
||||
|
||||
ret = gs1_verify(symbol, data[i].data, length, reduced);
|
||||
assert_equal(ret, data[i].ret, "i:%d ret %d != %d (length %d \"%s\") %s\n", i, ret, data[i].ret, length, data[i].data, symbol->errtxt);
|
||||
|
||||
if (ret == 0) {
|
||||
assert_zero(strcmp(reduced, data[i].expected), "i:%d strcmp(%s, %s) != 0\n", i, reduced, data[i].expected);
|
||||
}
|
||||
|
||||
ZBarcode_Delete(symbol);
|
||||
}
|
||||
|
||||
testFinish();
|
||||
}
|
||||
|
||||
int main()
|
||||
{
|
||||
test_gs1_reduce();
|
||||
test_hrt();
|
||||
test_gs1_verify();
|
||||
|
||||
testReport();
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user