mirror of
https://github.com/zint/zint
synced 2024-11-16 20:57:25 +13:00
Australia Code bugfix (concatinating unset string)
This commit is contained in:
parent
ef80d11beb
commit
a2c76b76ae
@ -112,10 +112,11 @@ int australia_post(struct zint_symbol *symbol, unsigned char source[])
|
|||||||
unsigned int loopey, reader;
|
unsigned int loopey, reader;
|
||||||
int writer, i;
|
int writer, i;
|
||||||
strcpy (data_pattern, "");
|
strcpy (data_pattern, "");
|
||||||
int errno, zeroes;
|
int error_number, zeroes;
|
||||||
char localstr[30];
|
char localstr[30];
|
||||||
|
|
||||||
errno = 0;
|
error_number = 0;
|
||||||
|
strcpy(localstr, "");
|
||||||
|
|
||||||
/* Do all of the length checking first to avoid stack smashing */
|
/* Do all of the length checking first to avoid stack smashing */
|
||||||
if(symbol->symbology == BARCODE_AUSPOST) {
|
if(symbol->symbology == BARCODE_AUSPOST) {
|
||||||
@ -124,16 +125,16 @@ int australia_post(struct zint_symbol *symbol, unsigned char source[])
|
|||||||
{
|
{
|
||||||
case 8: strcpy(fcc, "11"); break;
|
case 8: strcpy(fcc, "11"); break;
|
||||||
case 13: strcpy(fcc, "59"); break;
|
case 13: strcpy(fcc, "59"); break;
|
||||||
case 16: strcpy(fcc, "59"); errno = is_sane(NESET, source); break;
|
case 16: strcpy(fcc, "59"); error_number = is_sane(NESET, source); break;
|
||||||
case 18: strcpy(fcc, "62"); break;
|
case 18: strcpy(fcc, "62"); break;
|
||||||
case 23: strcpy(fcc, "62"); errno = is_sane(NESET, source); break;
|
case 23: strcpy(fcc, "62"); error_number = is_sane(NESET, source); break;
|
||||||
default: strcpy(symbol->errtxt, "Auspost input is wrong length [631]");
|
default: strcpy(symbol->errtxt, "Auspost input is wrong length [631]");
|
||||||
return ERROR_TOO_LONG;
|
return ERROR_TOO_LONG;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if(errno == ERROR_INVALID_DATA) {
|
if(error_number == ERROR_INVALID_DATA) {
|
||||||
strcpy(symbol->errtxt, "Invalid characters in data [632]");
|
strcpy(symbol->errtxt, "Invalid characters in data [632]");
|
||||||
return errno;
|
return error_number;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if(ustrlen(source) > 8) {
|
if(ustrlen(source) > 8) {
|
||||||
@ -147,7 +148,6 @@ int australia_post(struct zint_symbol *symbol, unsigned char source[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Add leading zeros as required */
|
/* Add leading zeros as required */
|
||||||
strcpy(localstr, "");
|
|
||||||
zeroes = 8 - ustrlen(source);
|
zeroes = 8 - ustrlen(source);
|
||||||
for(i = 0; i < zeroes; i++) {
|
for(i = 0; i < zeroes; i++) {
|
||||||
concat(localstr, "0");
|
concat(localstr, "0");
|
||||||
@ -155,10 +155,10 @@ int australia_post(struct zint_symbol *symbol, unsigned char source[])
|
|||||||
}
|
}
|
||||||
|
|
||||||
concat(localstr, (char*)source);
|
concat(localstr, (char*)source);
|
||||||
errno = is_sane(GDSET, (unsigned char *)localstr);
|
error_number = is_sane(GDSET, (unsigned char *)localstr);
|
||||||
if(errno == ERROR_INVALID_DATA) {
|
if(error_number == ERROR_INVALID_DATA) {
|
||||||
strcpy(symbol->errtxt, "Invalid characters in data [634]");
|
strcpy(symbol->errtxt, "Invalid characters in data [634]");
|
||||||
return errno;
|
return error_number;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Verifiy that the first 8 characters are numbers */
|
/* Verifiy that the first 8 characters are numbers */
|
||||||
@ -166,10 +166,10 @@ int australia_post(struct zint_symbol *symbol, unsigned char source[])
|
|||||||
dpid[loopey] = localstr[loopey];
|
dpid[loopey] = localstr[loopey];
|
||||||
}
|
}
|
||||||
dpid[8] = '\0';
|
dpid[8] = '\0';
|
||||||
errno = is_sane(NESET, (unsigned char *)dpid);
|
error_number = is_sane(NESET, (unsigned char *)dpid);
|
||||||
if(errno == ERROR_INVALID_DATA) {
|
if(error_number == ERROR_INVALID_DATA) {
|
||||||
strcpy(symbol->errtxt, "Invalid characters in DPID [635]");
|
strcpy(symbol->errtxt, "Invalid characters in DPID [635]");
|
||||||
return errno;
|
return error_number;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Start character */
|
/* Start character */
|
||||||
@ -244,6 +244,6 @@ int australia_post(struct zint_symbol *symbol, unsigned char source[])
|
|||||||
symbol->rows = 3;
|
symbol->rows = 3;
|
||||||
symbol->width = writer - 1;
|
symbol->width = writer - 1;
|
||||||
|
|
||||||
return errno;
|
return error_number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user