Correct argument parsing logic
This commit is contained in:
@ -148,8 +148,12 @@ int main(int argc, char** argv)
|
|||||||
reset = true;
|
reset = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case '?':
|
||||||
|
usage();
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "opt error: %d\n", opt);
|
fprintf(stderr, "unknown argument '-%c %s'\n", opt, optarg);
|
||||||
usage();
|
usage();
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
@ -162,28 +166,24 @@ int main(int argc, char** argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if((write == read) && (write == reset)) {
|
if(write && read) {
|
||||||
if(write && read) {
|
fprintf(stderr, "Read and write options are mutually exclusive.\n");
|
||||||
fprintf(stderr, "Read and write options are mutually exclusive.\n");
|
|
||||||
} else {
|
|
||||||
fprintf(stderr, "Specify either read, write, or reset option.\n");
|
|
||||||
}
|
|
||||||
usage();
|
usage();
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if((read || write) && (path == NULL)) {
|
if(!(write || read || reset)) {
|
||||||
fprintf(stderr, "Specify a path to a file.\n");
|
fprintf(stderr, "Specify either read, write, or reset option.\n");
|
||||||
usage();
|
usage();
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if( write )
|
if( write )
|
||||||
{
|
{
|
||||||
fd = fopen(path, "rb");
|
fd = fopen(path, "rb");
|
||||||
if(fd == NULL)
|
if(fd == NULL)
|
||||||
{
|
{
|
||||||
printf("Error to open file %s\n", path);
|
printf("Error opening file %s\n", path);
|
||||||
return EXIT_FAILURE;
|
return EXIT_FAILURE;
|
||||||
}
|
}
|
||||||
/* Get size of the file */
|
/* Get size of the file */
|
||||||
|
@ -673,6 +673,10 @@ int main(int argc, char** argv) {
|
|||||||
result = parse_u32(optarg, &crystal_correct_ppm);
|
result = parse_u32(optarg, &crystal_correct_ppm);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case '?':
|
||||||
|
usage();
|
||||||
|
return EXIT_FAILURE;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
fprintf(stderr, "unknown argument '-%c %s'\n", opt, optarg);
|
fprintf(stderr, "unknown argument '-%c %s'\n", opt, optarg);
|
||||||
usage();
|
usage();
|
||||||
|
Reference in New Issue
Block a user