Reduced warnings

This commit is contained in:
hooper114 2008-09-30 15:13:35 +00:00
parent 5b10d056c2
commit afd0ca7cfd

View File

@ -81,6 +81,16 @@ void usage(void)
, ZINT_VERSION); , ZINT_VERSION);
} }
int ustrlen(unsigned char data[]) {
/* Local replacement for strlen() with unsigned char strings */
int i;
i = -1;
do { i++; } while (data[i] != '\0');
return i;
}
int data_process(struct zint_symbol *symbol, unsigned char source[], int rotate_angle) int data_process(struct zint_symbol *symbol, unsigned char source[], int rotate_angle)
{ {
/* Supports UTF-8 input by converting it to Latin-1 Extended ASCII */ /* Supports UTF-8 input by converting it to Latin-1 Extended ASCII */
@ -88,7 +98,7 @@ int data_process(struct zint_symbol *symbol, unsigned char source[], int rotate_
int error_number, i, j, next; int error_number, i, j, next;
error_number = 0; error_number = 0;
input_length = strlen(source); input_length = ustrlen(source);
unsigned char latin1[input_length]; unsigned char latin1[input_length];
j = 0; j = 0;
@ -129,10 +139,24 @@ int data_process(struct zint_symbol *symbol, unsigned char source[], int rotate_
return error_number; return error_number;
} }
int validator(char test_string[], char source[])
{ /* Verifies that a string only uses valid characters */
unsigned int i, j, latch;
for(i = 0; i < strlen(source); i++) {
latch = 0;
for(j = 0; j < strlen(test_string); j++) {
if (source[i] == test_string[j]) { latch = 1; } }
if (!(latch)) {
return ERROR_INVALID_DATA; }
}
return 0;
}
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
struct zint_symbol *my_symbol; struct zint_symbol *my_symbol;
int i, mode, stack_row;
int c; int c;
int error_number; int error_number;
int rotate_angle; int rotate_angle;
@ -189,7 +213,7 @@ int main(int argc, char **argv)
strncpy(my_symbol->bgcolour, optarg, 7); strncpy(my_symbol->bgcolour, optarg, 7);
} }
if(!strcmp(long_options[option_index].name, "border=")) { if(!strcmp(long_options[option_index].name, "border=")) {
error_number = is_sane(NESET, optarg); error_number = validator(NESET, optarg);
if(error_number == ERROR_INVALID_DATA) { if(error_number == ERROR_INVALID_DATA) {
fprintf(stderr, "Invalid border width\n"); fprintf(stderr, "Invalid border width\n");
exit(1); exit(1);
@ -201,7 +225,7 @@ int main(int argc, char **argv)
} }
} }
if(!strcmp(long_options[option_index].name, "height=")) { if(!strcmp(long_options[option_index].name, "height=")) {
error_number = is_sane(NESET, optarg); error_number = validator(NESET, optarg);
if(error_number == ERROR_INVALID_DATA) { if(error_number == ERROR_INVALID_DATA) {
fprintf(stderr, "Invalid symbol height\n"); fprintf(stderr, "Invalid symbol height\n");
exit(1); exit(1);
@ -252,7 +276,7 @@ int main(int argc, char **argv)
} }
if(!strcmp(long_options[option_index].name, "rotate=")) { if(!strcmp(long_options[option_index].name, "rotate=")) {
/* Only certain inputs allowed */ /* Only certain inputs allowed */
error_number = is_sane(NESET, optarg); error_number = validator(NESET, optarg);
if(error_number == ERROR_INVALID_DATA) { if(error_number == ERROR_INVALID_DATA) {
fprintf(stderr, "Invalid rotation parameter\n"); fprintf(stderr, "Invalid rotation parameter\n");
exit(1); exit(1);
@ -275,7 +299,7 @@ int main(int argc, char **argv)
break; break;
case 'b': case 'b':
error_number = is_sane(NESET, optarg); error_number = validator(NESET, optarg);
if(error_number == ERROR_INVALID_DATA) { if(error_number == ERROR_INVALID_DATA) {
printf("Invalid barcode type\n"); printf("Invalid barcode type\n");
exit(1); exit(1);
@ -284,7 +308,7 @@ int main(int argc, char **argv)
break; break;
case 'w': case 'w':
error_number = is_sane(NESET, optarg); error_number = validator(NESET, optarg);
if(error_number == ERROR_INVALID_DATA) { if(error_number == ERROR_INVALID_DATA) {
printf("Invalid whitespace value\n"); printf("Invalid whitespace value\n");
exit(1); exit(1);