gs1_lint.h: update to latest gs1-format-spec.txt;

fix some bugs in gen_gs1_lint.php
This commit is contained in:
gitlost 2021-11-26 17:54:22 +00:00
parent f5f363b22f
commit 41a05077bc
3 changed files with 86 additions and 98 deletions

View File

@ -626,49 +626,37 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len,
} else if (ai < 3200) {
if ((ai >= 3100 && ai <= 3105) || (ai >= 3110 && ai <= 3115) || (ai >= 3120 && ai <= 3125)
|| (ai >= 3130 && ai <= 3135) || (ai >= 3140 && ai <= 3145) || (ai >= 3150 && ai <= 3155)
|| (ai >= 3160 && ai <= 3165)) {
if (ai >= 3100 && ai <= 3169) {
return n6(data, data_len, p_err_no, p_err_posn, err_msg);
}
} else if (ai < 3300) {
if (ai <= 3205 || (ai >= 3210 && ai <= 3215) || (ai >= 3220 && ai <= 3225) || (ai >= 3230 && ai <= 3235)
|| (ai >= 3240 && ai <= 3245) || (ai >= 3250 && ai <= 3255) || (ai >= 3260 && ai <= 3265)
|| (ai >= 3270 && ai <= 3275) || (ai >= 3280 && ai <= 3285) || (ai >= 3290 && ai <= 3295)) {
if (ai <= 3299) {
return n6(data, data_len, p_err_no, p_err_posn, err_msg);
}
} else if (ai < 3400) {
if (ai <= 3305 || (ai >= 3310 && ai <= 3315) || (ai >= 3320 && ai <= 3325) || (ai >= 3330 && ai <= 3335)
|| (ai >= 3340 && ai <= 3345) || (ai >= 3350 && ai <= 3355) || (ai >= 3360 && ai <= 3365)
|| (ai >= 3370 && ai <= 3375)) {
if (ai <= 3379) {
return n6(data, data_len, p_err_no, p_err_posn, err_msg);
}
} else if (ai < 3500) {
if (ai <= 3405 || (ai >= 3410 && ai <= 3415) || (ai >= 3420 && ai <= 3425) || (ai >= 3430 && ai <= 3435)
|| (ai >= 3440 && ai <= 3445) || (ai >= 3450 && ai <= 3455) || (ai >= 3460 && ai <= 3465)
|| (ai >= 3470 && ai <= 3475) || (ai >= 3480 && ai <= 3485) || (ai >= 3490 && ai <= 3495)) {
if (ai <= 3499) {
return n6(data, data_len, p_err_no, p_err_posn, err_msg);
}
} else if (ai < 3600) {
if (ai <= 3505 || (ai >= 3510 && ai <= 3515) || (ai >= 3520 && ai <= 3525) || (ai >= 3530 && ai <= 3535)
|| (ai >= 3540 && ai <= 3545) || (ai >= 3550 && ai <= 3555) || (ai >= 3560 && ai <= 3565)
|| (ai >= 3570 && ai <= 3575)) {
if (ai <= 3579) {
return n6(data, data_len, p_err_no, p_err_posn, err_msg);
}
} else if (ai < 3700) {
if (ai <= 3605 || (ai >= 3610 && ai <= 3615) || (ai >= 3620 && ai <= 3625) || (ai >= 3630 && ai <= 3635)
|| (ai >= 3640 && ai <= 3645) || (ai >= 3650 && ai <= 3655) || (ai >= 3660 && ai <= 3665)
|| (ai >= 3670 && ai <= 3675) || (ai >= 3680 && ai <= 3685) || (ai >= 3690 && ai <= 3695)) {
if (ai <= 3699) {
return n6(data, data_len, p_err_no, p_err_posn, err_msg);
}
@ -680,10 +668,10 @@ static int gs1_lint(const int ai, const unsigned char *data, const int data_len,
if ((ai >= 3910 && ai <= 3919) || (ai >= 3930 && ai <= 3939)) {
return n3_iso4217_n1__15(data, data_len, p_err_no, p_err_posn, err_msg);
}
if (ai >= 3940 && ai <= 3943) {
if (ai >= 3940 && ai <= 3949) {
return n4(data, data_len, p_err_no, p_err_posn, err_msg);
}
if (ai >= 3950 && ai <= 3955) {
if (ai >= 3950 && ai <= 3959) {
return n6(data, data_len, p_err_no, p_err_posn, err_msg);
}

View File

@ -513,44 +513,44 @@ static void test_gs1_verify(int index, int debug) {
/*155*/ { "[3101]12345", ZINT_ERROR_INVALID_DATA, "" },
/*156*/ { "[3105]123456", 0, "3105123456" },
/*157*/ { "[3105]12345", ZINT_ERROR_INVALID_DATA, "" },
/*158*/ { "[3106]123456", ZINT_ERROR_INVALID_DATA, "" },
/*159*/ { "[3109]123456", ZINT_ERROR_INVALID_DATA, "" },
/*158*/ { "[3106]123456", 0, "3106123456" },
/*159*/ { "[3109]123456", 0, "3109123456" },
/*160*/ { "[3110]123456", 0, "3110123456" },
/*161*/ { "[3110]12345", ZINT_ERROR_INVALID_DATA, "" },
/*162*/ { "[3115]123456", 0, "3115123456" },
/*163*/ { "[3115]12345", ZINT_ERROR_INVALID_DATA, "" },
/*164*/ { "[3116]123456", ZINT_ERROR_INVALID_DATA, "" },
/*165*/ { "[3119]123456", ZINT_ERROR_INVALID_DATA, "" },
/*164*/ { "[3116]123456", 0, "3116123456" },
/*165*/ { "[3119]123456", 0, "3119123456" },
/*166*/ { "[3120]123456", 0, "3120123456" },
/*167*/ { "[3120]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*168*/ { "[3125]123456", 0, "3125123456" },
/*169*/ { "[3125]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*170*/ { "[3126]123456", ZINT_ERROR_INVALID_DATA, "" },
/*171*/ { "[3129]123456", ZINT_ERROR_INVALID_DATA, "" },
/*170*/ { "[3126]123456", 0, "3126123456" },
/*171*/ { "[3129]123456", 0, "3129123456" },
/*172*/ { "[3130]123456", 0, "3130123456" },
/*173*/ { "[3130]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*174*/ { "[3135]123456", 0, "3135123456" },
/*175*/ { "[3135]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*176*/ { "[3136]123456", ZINT_ERROR_INVALID_DATA, "" },
/*177*/ { "[3139]123456", ZINT_ERROR_INVALID_DATA, "" },
/*176*/ { "[3136]123456", 0, "3136123456" },
/*177*/ { "[3139]123456", 0, "3139123456" },
/*178*/ { "[3140]123456", 0, "3140123456" },
/*179*/ { "[3140]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*180*/ { "[3145]123456", 0, "3145123456" },
/*181*/ { "[3145]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*182*/ { "[3146]123456", ZINT_ERROR_INVALID_DATA, "" },
/*183*/ { "[3149]123456", ZINT_ERROR_INVALID_DATA, "" },
/*182*/ { "[3146]123456", 0, "3146123456" },
/*183*/ { "[3149]123456", 0, "3149123456" },
/*184*/ { "[3150]123456", 0, "3150123456" },
/*185*/ { "[3150]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*186*/ { "[3155]123456", 0, "3155123456" },
/*187*/ { "[3155]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*188*/ { "[3156]123456", ZINT_ERROR_INVALID_DATA, "" },
/*189*/ { "[3159]123456", ZINT_ERROR_INVALID_DATA, "" },
/*188*/ { "[3156]123456", 0, "3156123456" },
/*189*/ { "[3159]123456", 0, "3159123456" },
/*190*/ { "[3160]123456", 0, "3160123456" },
/*191*/ { "[3160]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*192*/ { "[3165]123456", 0, "3165123456" },
/*193*/ { "[3165]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*194*/ { "[3166]123456", ZINT_ERROR_INVALID_DATA, "" },
/*195*/ { "[3169]123456", ZINT_ERROR_INVALID_DATA, "" },
/*194*/ { "[3166]123456", 0, "3166123456" },
/*195*/ { "[3169]123456", 0, "3169123456" },
/*196*/ { "[3170]123456", ZINT_ERROR_INVALID_DATA, "" },
/*197*/ { "[3179]123456", ZINT_ERROR_INVALID_DATA, "" },
/*198*/ { "[3180]123456", ZINT_ERROR_INVALID_DATA, "" },
@ -563,87 +563,87 @@ static void test_gs1_verify(int index, int debug) {
/*205*/ { "[3200]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*206*/ { "[3205]123456", 0, "3205123456" },
/*207*/ { "[3205]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*208*/ { "[3206]123456", ZINT_ERROR_INVALID_DATA, "" },
/*209*/ { "[3209]123456", ZINT_ERROR_INVALID_DATA, "" },
/*208*/ { "[3206]123456", 0, "3206123456" },
/*209*/ { "[3209]123456", 0, "3209123456" },
/*210*/ { "[3210]123456", 0, "3210123456" },
/*211*/ { "[3210]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*212*/ { "[3215]123456", 0, "3215123456" },
/*213*/ { "[3215]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*214*/ { "[3216]123456", ZINT_ERROR_INVALID_DATA, "" },
/*215*/ { "[3219]123456", ZINT_ERROR_INVALID_DATA, "" },
/*214*/ { "[3216]123456", 0, "3216123456" },
/*215*/ { "[3219]123456", 0, "3219123456" },
/*216*/ { "[3220]123456", 0, "3220123456" },
/*217*/ { "[3220]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*218*/ { "[3225]123456", 0, "3225123456" },
/*219*/ { "[3225]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*220*/ { "[3229]123456", ZINT_ERROR_INVALID_DATA, "" },
/*220*/ { "[3229]123456", 0, "3229123456" },
/*221*/ { "[3230]123456", 0, "3230123456" },
/*222*/ { "[3230]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*223*/ { "[3235]123456", 0, "3235123456" },
/*224*/ { "[3235]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*225*/ { "[3239]123456", ZINT_ERROR_INVALID_DATA, "" },
/*225*/ { "[3239]123456", 0, "3239123456" },
/*226*/ { "[3240]123456", 0, "3240123456" },
/*227*/ { "[3240]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*228*/ { "[3245]123456", 0, "3245123456" },
/*229*/ { "[3245]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*230*/ { "[3249]123456", ZINT_ERROR_INVALID_DATA, "" },
/*230*/ { "[3249]123456", 0, "3249123456" },
/*231*/ { "[3250]123456", 0, "3250123456" },
/*232*/ { "[3250]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*233*/ { "[3255]123456", 0, "3255123456" },
/*234*/ { "[3255]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*235*/ { "[3259]123456", ZINT_ERROR_INVALID_DATA, "" },
/*235*/ { "[3259]123456", 0, "3259123456" },
/*236*/ { "[3260]123456", 0, "3260123456" },
/*237*/ { "[3260]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*238*/ { "[3265]123456", 0, "3265123456" },
/*239*/ { "[3265]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*240*/ { "[3269]123456", ZINT_ERROR_INVALID_DATA, "" },
/*240*/ { "[3269]123456", 0, "3269123456" },
/*241*/ { "[3270]123456", 0, "3270123456" },
/*242*/ { "[3270]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*243*/ { "[3275]123456", 0, "3275123456" },
/*244*/ { "[3275]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*245*/ { "[3279]123456", ZINT_ERROR_INVALID_DATA, "" },
/*245*/ { "[3279]123456", 0, "3279123456" },
/*246*/ { "[3280]123456", 0, "3280123456" },
/*247*/ { "[3280]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*248*/ { "[3285]123456", 0, "3285123456" },
/*249*/ { "[3285]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*250*/ { "[3289]123456", ZINT_ERROR_INVALID_DATA, "" },
/*250*/ { "[3289]123456", 0, "3289123456" },
/*251*/ { "[3290]123456", 0, "3290123456" },
/*252*/ { "[3290]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*253*/ { "[3295]123456", 0, "3295123456" },
/*254*/ { "[3295]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*255*/ { "[3296]123456", ZINT_ERROR_INVALID_DATA, "" },
/*256*/ { "[3299]123456", ZINT_ERROR_INVALID_DATA, "" },
/*255*/ { "[3296]123456", 0, "3296123456" },
/*256*/ { "[3299]123456", 0, "3299123456" },
/*257*/ { "[33]123456", ZINT_ERROR_INVALID_DATA, "" },
/*258*/ { "[330]123456", ZINT_ERROR_INVALID_DATA, "" },
/*259*/ { "[3300]123456", 0, "3300123456" },
/*260*/ { "[3300]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*261*/ { "[3305]123456", 0, "3305123456" },
/*262*/ { "[3305]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*263*/ { "[3306]123456", ZINT_ERROR_INVALID_DATA, "" },
/*264*/ { "[3309]123456", ZINT_ERROR_INVALID_DATA, "" },
/*263*/ { "[3306]123456", 0, "3306123456" },
/*264*/ { "[3309]123456", 0, "3309123456" },
/*265*/ { "[3310]123456", 0, "3310123456" },
/*266*/ { "[3310]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*267*/ { "[3319]123456", ZINT_ERROR_INVALID_DATA, "" },
/*267*/ { "[3319]123456", 0, "3319123456" },
/*268*/ { "[3320]123456", 0, "3320123456" },
/*269*/ { "[3320]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*270*/ { "[3329]123456", ZINT_ERROR_INVALID_DATA, "" },
/*270*/ { "[3329]123456", 0, "3329123456" },
/*271*/ { "[3330]123456", 0, "3330123456" },
/*272*/ { "[3330]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*273*/ { "[3339]123456", ZINT_ERROR_INVALID_DATA, "" },
/*273*/ { "[3339]123456", 0, "3339123456" },
/*274*/ { "[3340]123456", 0, "3340123456" },
/*275*/ { "[3340]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*276*/ { "[3349]123456", ZINT_ERROR_INVALID_DATA, "" },
/*276*/ { "[3349]123456", 0, "3349123456" },
/*277*/ { "[3350]123456", 0, "3350123456" },
/*278*/ { "[3350]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*279*/ { "[3359]123456", ZINT_ERROR_INVALID_DATA, "" },
/*279*/ { "[3359]123456", 0, "3359123456" },
/*280*/ { "[3360]123456", 0, "3360123456" },
/*281*/ { "[3360]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*282*/ { "[3369]123456", ZINT_ERROR_INVALID_DATA, "" },
/*282*/ { "[3369]123456", 0, "3369123456" },
/*283*/ { "[3370]123456", 0, "3370123456" },
/*284*/ { "[3370]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*285*/ { "[3375]123456", 0, "3375123456" },
/*286*/ { "[3375]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*287*/ { "[3376]123456", ZINT_ERROR_INVALID_DATA, "" },
/*288*/ { "[3379]123456", ZINT_ERROR_INVALID_DATA, "" },
/*287*/ { "[3376]123456", 0, "3376123456" },
/*288*/ { "[3379]123456", 0, "3379123456" },
/*289*/ { "[3380]123456", ZINT_ERROR_INVALID_DATA, "" },
/*290*/ { "[3390]123456", ZINT_ERROR_INVALID_DATA, "" },
/*291*/ { "[3399]123456", ZINT_ERROR_INVALID_DATA, "" },
@ -653,69 +653,69 @@ static void test_gs1_verify(int index, int debug) {
/*295*/ { "[3400]12345", ZINT_ERROR_INVALID_DATA, "" },
/*296*/ { "[3405]123456", 0, "3405123456" },
/*297*/ { "[3405]12345", ZINT_ERROR_INVALID_DATA, "" },
/*298*/ { "[3406]123456", ZINT_ERROR_INVALID_DATA, "" },
/*299*/ { "[3409]123456", ZINT_ERROR_INVALID_DATA, "" },
/*298*/ { "[3406]123456", 0, "3406123456" },
/*299*/ { "[3409]123456", 0, "3409123456" },
/*300*/ { "[3410]123456", 0, "3410123456" },
/*301*/ { "[3410]12345", ZINT_ERROR_INVALID_DATA, "" },
/*302*/ { "[3419]123456", ZINT_ERROR_INVALID_DATA, "" },
/*302*/ { "[3419]123456", 0, "3419123456" },
/*303*/ { "[3420]123456", 0, "3420123456" },
/*304*/ { "[3420]12345", ZINT_ERROR_INVALID_DATA, "" },
/*305*/ { "[3429]123456", ZINT_ERROR_INVALID_DATA, "" },
/*305*/ { "[3429]123456", 0, "3429123456" },
/*306*/ { "[3430]123456", 0, "3430123456" },
/*307*/ { "[3430]12345", ZINT_ERROR_INVALID_DATA, "" },
/*308*/ { "[3439]123456", ZINT_ERROR_INVALID_DATA, "" },
/*308*/ { "[3439]123456", 0, "3439123456" },
/*309*/ { "[3440]123456", 0, "3440123456" },
/*310*/ { "[3440]12345", ZINT_ERROR_INVALID_DATA, "" },
/*311*/ { "[3449]123456", ZINT_ERROR_INVALID_DATA, "" },
/*311*/ { "[3449]123456", 0, "3449123456" },
/*312*/ { "[3450]123456", 0, "3450123456" },
/*313*/ { "[3450]12345", ZINT_ERROR_INVALID_DATA, "" },
/*314*/ { "[3459]123456", ZINT_ERROR_INVALID_DATA, "" },
/*314*/ { "[3459]123456", 0, "3459123456" },
/*315*/ { "[3460]123456", 0, "3460123456" },
/*316*/ { "[3460]12345", ZINT_ERROR_INVALID_DATA, "" },
/*317*/ { "[3469]123456", ZINT_ERROR_INVALID_DATA, "" },
/*317*/ { "[3469]123456", 0, "3469123456" },
/*318*/ { "[3470]123456", 0, "3470123456" },
/*319*/ { "[3470]12345", ZINT_ERROR_INVALID_DATA, "" },
/*320*/ { "[3479]123456", ZINT_ERROR_INVALID_DATA, "" },
/*320*/ { "[3479]123456", 0, "3479123456" },
/*321*/ { "[3480]123456", 0, "3480123456" },
/*322*/ { "[3480]12345", ZINT_ERROR_INVALID_DATA, "" },
/*323*/ { "[3489]123456", ZINT_ERROR_INVALID_DATA, "" },
/*323*/ { "[3489]123456", 0, "3489123456" },
/*324*/ { "[3490]123456", 0, "3490123456" },
/*325*/ { "[3490]12345", ZINT_ERROR_INVALID_DATA, "" },
/*326*/ { "[3495]123456", 0, "3495123456" },
/*327*/ { "[3495]12345", ZINT_ERROR_INVALID_DATA, "" },
/*328*/ { "[3496]123456", ZINT_ERROR_INVALID_DATA, "" },
/*329*/ { "[3499]123456", ZINT_ERROR_INVALID_DATA, "" },
/*328*/ { "[3496]123456", 0, "3496123456" },
/*329*/ { "[3499]123456", 0, "3499123456" },
/*330*/ { "[35]123456", ZINT_ERROR_INVALID_DATA, "" },
/*331*/ { "[350]123456", ZINT_ERROR_INVALID_DATA, "" },
/*332*/ { "[3500]123456", 0, "3500123456" },
/*333*/ { "[3500]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*334*/ { "[3505]123456", 0, "3505123456" },
/*335*/ { "[3505]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*336*/ { "[3506]123456", ZINT_ERROR_INVALID_DATA, "" },
/*337*/ { "[3509]123456", ZINT_ERROR_INVALID_DATA, "" },
/*336*/ { "[3506]123456", 0, "3506123456" },
/*337*/ { "[3509]123456", 0, "3509123456" },
/*338*/ { "[3510]123456", 0, "3510123456", },
/*339*/ { "[3510]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*340*/ { "[3519]123456", ZINT_ERROR_INVALID_DATA, "" },
/*340*/ { "[3519]123456", 0, "3519123456" },
/*341*/ { "[3520]123456", 0, "3520123456", },
/*342*/ { "[3520]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*343*/ { "[3529]123456", ZINT_ERROR_INVALID_DATA, "" },
/*343*/ { "[3529]123456", 0, "3529123456" },
/*344*/ { "[3530]123456", 0, "3530123456", },
/*345*/ { "[3530]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*346*/ { "[3539]123456", ZINT_ERROR_INVALID_DATA, "" },
/*346*/ { "[3539]123456", 0, "3539123456" },
/*347*/ { "[3540]123456", 0, "3540123456", },
/*348*/ { "[3540]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*349*/ { "[3549]123456", ZINT_ERROR_INVALID_DATA, "" },
/*349*/ { "[3549]123456", 0, "3549123456" },
/*350*/ { "[3550]123456", 0, "3550123456", },
/*351*/ { "[3550]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*352*/ { "[3559]123456", ZINT_ERROR_INVALID_DATA, "" },
/*352*/ { "[3559]123456", 0, "3559123456" },
/*353*/ { "[3560]123456", 0, "3560123456", },
/*354*/ { "[3560]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*355*/ { "[3569]123456", ZINT_ERROR_INVALID_DATA, "" },
/*355*/ { "[3569]123456", 0, "3569123456" },
/*356*/ { "[3570]123456", 0, "3570123456", },
/*357*/ { "[3570]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*358*/ { "[3575]123456", 0, "3575123456" },
/*359*/ { "[3376]123456", ZINT_ERROR_INVALID_DATA, "" },
/*360*/ { "[3579]123456", ZINT_ERROR_INVALID_DATA, "" },
/*359*/ { "[3376]123456", 0, "3376123456" },
/*360*/ { "[3579]123456", 0, "3579123456" },
/*361*/ { "[3580]123456", ZINT_ERROR_INVALID_DATA, "" },
/*362*/ { "[3590]123456", ZINT_ERROR_INVALID_DATA, "" },
/*363*/ { "[3599]123456", ZINT_ERROR_INVALID_DATA, "" },
@ -725,38 +725,38 @@ static void test_gs1_verify(int index, int debug) {
/*367*/ { "[3600]12345", ZINT_ERROR_INVALID_DATA, "" },
/*368*/ { "[3605]123456", 0, "3605123456" },
/*369*/ { "[3605]12345", ZINT_ERROR_INVALID_DATA, "" },
/*370*/ { "[3606]123456", ZINT_ERROR_INVALID_DATA, "" },
/*371*/ { "[3609]123456", ZINT_ERROR_INVALID_DATA, "" },
/*370*/ { "[3606]123456", 0, "3606123456" },
/*371*/ { "[3609]123456", 0, "3609123456" },
/*372*/ { "[3610]123456", 0, "3610123456" },
/*373*/ { "[3610]12345", ZINT_ERROR_INVALID_DATA, "" },
/*374*/ { "[3619]123456", ZINT_ERROR_INVALID_DATA, "" },
/*374*/ { "[3619]123456", 0, "3619123456" },
/*375*/ { "[3620]123456", 0, "3620123456", },
/*376*/ { "[3620]12345", ZINT_ERROR_INVALID_DATA, "" },
/*377*/ { "[3629]123456", ZINT_ERROR_INVALID_DATA, "" },
/*377*/ { "[3629]123456", 0, "3629123456" },
/*378*/ { "[3630]123456", 0, "3630123456", },
/*379*/ { "[3630]12345", ZINT_ERROR_INVALID_DATA, "" },
/*380*/ { "[3639]123456", ZINT_ERROR_INVALID_DATA, "" },
/*380*/ { "[3639]123456", 0, "3639123456" },
/*381*/ { "[3640]123456", 0, "3640123456", },
/*382*/ { "[3640]12345", ZINT_ERROR_INVALID_DATA, "" },
/*383*/ { "[3649]123456", ZINT_ERROR_INVALID_DATA, "" },
/*383*/ { "[3649]123456", 0, "3649123456" },
/*384*/ { "[3650]123456", 0, "3650123456", },
/*385*/ { "[3650]12345", ZINT_ERROR_INVALID_DATA, "" },
/*386*/ { "[3659]123456", ZINT_ERROR_INVALID_DATA, "" },
/*386*/ { "[3659]123456", 0, "3659123456" },
/*387*/ { "[3660]123456", 0, "3660123456", },
/*388*/ { "[3660]12345", ZINT_ERROR_INVALID_DATA, "" },
/*389*/ { "[3669]123456", ZINT_ERROR_INVALID_DATA, "" },
/*389*/ { "[3669]123456", 0, "3669123456" },
/*390*/ { "[3670]123456", 0, "3670123456", },
/*391*/ { "[3670]12345", ZINT_ERROR_INVALID_DATA, "" },
/*392*/ { "[3679]123456", ZINT_ERROR_INVALID_DATA, "" },
/*392*/ { "[3679]123456", 0, "3679123456" },
/*393*/ { "[3680]123456", 0, "3680123456", },
/*394*/ { "[3680]12345", ZINT_ERROR_INVALID_DATA, "" },
/*395*/ { "[3689]123456", ZINT_ERROR_INVALID_DATA, "" },
/*395*/ { "[3689]123456", 0, "3689123456" },
/*396*/ { "[3690]123456", 0, "3690123456" },
/*397*/ { "[3690]12345", ZINT_ERROR_INVALID_DATA, "" },
/*398*/ { "[3695]123456", 0, "3695123456" },
/*399*/ { "[3695]12345", ZINT_ERROR_INVALID_DATA, "" },
/*400*/ { "[3696]123456", ZINT_ERROR_INVALID_DATA, "" },
/*401*/ { "[3699]123456", ZINT_ERROR_INVALID_DATA, "" },
/*400*/ { "[3696]123456", 0, "3696123456" },
/*401*/ { "[3699]123456", 0, "3699123456" },
/*402*/ { "[37]12345678", 0, "3712345678" },
/*403*/ { "[37]123456789", ZINT_ERROR_INVALID_DATA, "" },
/*404*/ { "[370]12345678", ZINT_ERROR_INVALID_DATA, "" },
@ -810,9 +810,9 @@ static void test_gs1_verify(int index, int debug) {
/*452*/ { "[3942]12345", ZINT_ERROR_INVALID_DATA, "" },
/*453*/ { "[3943]1234", 0, "39431234" },
/*454*/ { "[3943]123", ZINT_ERROR_INVALID_DATA, "" },
/*455*/ { "[3944]1234", ZINT_ERROR_INVALID_DATA, "" },
/*456*/ { "[3945]1234", ZINT_ERROR_INVALID_DATA, "" },
/*457*/ { "[3949]1234", ZINT_ERROR_INVALID_DATA, "" },
/*455*/ { "[3944]1234", 0, "39441234" },
/*456*/ { "[3945]1234", 0, "39451234" },
/*457*/ { "[3949]1234", 0, "39491234" },
/*458*/ { "[3950]123456", 0, "3950123456" },
/*459*/ { "[3950]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*460*/ { "[3950]12345", ZINT_ERROR_INVALID_DATA, "" },
@ -826,8 +826,8 @@ static void test_gs1_verify(int index, int debug) {
/*468*/ { "[3954]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*469*/ { "[3955]123456", 0, "3955123456" },
/*470*/ { "[3955]1234567", ZINT_ERROR_INVALID_DATA, "" },
/*471*/ { "[3956]123456", ZINT_ERROR_INVALID_DATA, "" },
/*472*/ { "[3959]123456", ZINT_ERROR_INVALID_DATA, "" },
/*471*/ { "[3956]123456", 0, "3956123456" },
/*472*/ { "[3959]123456", 0, "3959123456" },
/*473*/ { "[3960]1234", ZINT_ERROR_INVALID_DATA, "" },
/*474*/ { "[3970]1234", ZINT_ERROR_INVALID_DATA, "" },
/*475*/ { "[3980]1234", ZINT_ERROR_INVALID_DATA, "" },

View File

@ -165,11 +165,11 @@ foreach ($spec_ais as $spec => $ais) {
}
if (is_array($ai)) {
$this_s = $ai[0];
$this_e = $ai[0];
$this_e = $ai[1];
} else {
$this_s = $this_e = $ai;
}
if ($this_s === $prev_e + 1) {
if ($this_s === $prev_e + 1 && $this_e - $prev_s < 100) { // Confine to batches of 100
$tmp_ais[$cnt - 1] = array($prev_s, $this_e);
} else {
$tmp_ais[] = $ai;