[pacman-dev] [PATCH v2] vercmp: fail when the wrong number of arguments are provided

Allan McRae allan at archlinux.org
Sat Jan 6 03:32:43 UTC 2018


On 18/12/17 13:57, Eli Schwartz wrote:
> Fixes FS#49093
> 
> Signed-off-by: Eli Schwartz <eschwartz at archlinux.org>
> ---
> 
> v2: errors go to stderr
> follow style guidelines for arithmetic
> minor grammatical correction for error message
> 
>  src/util/vercmp.c | 12 ++++--------
>  1 file changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/src/util/vercmp.c b/src/util/vercmp.c
> index 3521a96a..6298ba79 100644
> --- a/src/util/vercmp.c
> +++ b/src/util/vercmp.c
> @@ -40,8 +40,6 @@ static void usage(void)
>  
>  int main(int argc, char *argv[])
>  {
> -	const char *s1 = "";
> -	const char *s2 = "";
>  	int ret;
>  
>  	if(argc == 1) {
> @@ -54,14 +52,12 @@ int main(int argc, char *argv[])
>  		usage();
>  		return 0;
>  	}
> -	if(argc > 2) {
> -		s2 = argv[2];
> -	}
> -	if(argc > 1) {
> -		s1 = argv[1];
> +	if(argc != 3) {
> +		fprintf(stderr, "error: %d argument(s) specified but vercmp needs 2\n", argc - 1);

This sentence sounds awkwark to me.

Can we just go:

fprintf(stderr, "error: %d argument(s) specified\n\n
		"Usage: vercmp <ver1> <ver2>\n")

?


> +		return EXIT_FAILURE;
>  	}
>  
> -	ret = alpm_pkg_vercmp(s1, s2);
> +	ret = alpm_pkg_vercmp(argv[1], argv[2]);
>  	printf("%d\n", ret);
>  	return EXIT_SUCCESS;
>  }
> 


More information about the pacman-dev mailing list