diff options
| author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-08-20 21:01:59 +0200 | 
|---|---|---|
| committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2019-08-20 21:13:43 +0200 | 
| commit | a7d22b83cf70eb500f52edb625e9c719a35b0134 (patch) | |
| tree | d24d2fbd1aceaac36add177ea2295ba1891a8d1f /difftool | |
| parent | 3f515038371bde961c88bf62a9ba0a75667b95dd (diff) | |
Change CLI of sqfsdiff to specify images through long options
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'difftool')
| -rw-r--r-- | difftool/sqfsdiff.c | 23 | 
1 files changed, 15 insertions, 8 deletions
| diff --git a/difftool/sqfsdiff.c b/difftool/sqfsdiff.c index 4754557..baebc25 100644 --- a/difftool/sqfsdiff.c +++ b/difftool/sqfsdiff.c @@ -7,6 +7,8 @@  #include "difftool.h"  static struct option long_opts[] = { +	{ "old", required_argument, NULL, 'a' }, +	{ "new", required_argument, NULL, 'b' },  	{ "no-owner", no_argument, NULL, 'O' },  	{ "no-permissions", no_argument, NULL, 'P' },  	{ "no-contents", no_argument, NULL, 'C' }, @@ -18,10 +20,10 @@ static struct option long_opts[] = {  	{ "version", no_argument, NULL, 'V' },  }; -static const char *short_opts = "OPCTISe:hV"; +static const char *short_opts = "a:b:OPCTISe:hV";  static const char *usagestr = -"Usage: sqfsdiff [OPTIONS...] <first> <second>\n" +"Usage: sqfsdiff [OPTIONS...] --old,-a <first> --new,-b <second>\n"  "\n"  "Compare two squashfs images. In contrast to doing a direct diff of the\n"  "images, this actually parses the filesystems and generates a more\n" @@ -38,6 +40,9 @@ static const char *usagestr =  "\n"  "Possible options:\n"  "\n" +"  --old, -a <first>           The first of the two images to compare.\n" +"  --new, -b <second>          The second of the two images to compare.\n" +"\n"  "  --no-contents, -C           Do not compare file contents.\n"  "  --no-owner, -O              Do not compare file owners.\n"  "  --no-permissions, -P        Do not compare permission bits.\n" @@ -73,6 +78,12 @@ static void process_options(int argc, char **argv)  			break;  		switch (i) { +		case 'a': +			first_path = optarg; +			break; +		case 'b': +			second_path = optarg; +			break;  		case 'O':  			compare_flags |= COMPARE_NO_OWNER;  			break; @@ -106,20 +117,16 @@ static void process_options(int argc, char **argv)  		}  	} -	if (optind >= argc) { +	if (first_path == NULL) {  		fputs("Missing arguments: first filesystem\n", stderr);  		goto fail_arg;  	} -	first_path = argv[optind++]; - -	if (optind >= argc) { +	if (second_path == NULL) {  		fputs("Missing arguments: second filesystem\n", stderr);  		goto fail_arg;  	} -	second_path = argv[optind++]; -  	if (optind < argc) {  		fputs("Unknown extra arguments\n", stderr);  		goto fail_arg; | 
