diff mbox

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

Message ID 20171218035752.12777-1-eschwartz@archlinux.org
State Superseded, archived
Headers show

Commit Message

Eli Schwartz Dec. 18, 2017, 3:57 a.m. UTC
Fixes FS#49093

Signed-off-by: Eli Schwartz <eschwartz@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(-)

Comments

Allan McRae Jan. 6, 2018, 3:32 a.m. UTC | #1
On 18/12/17 13:57, Eli Schwartz wrote:
> Fixes FS#49093
> 
> Signed-off-by: Eli Schwartz <eschwartz@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;
>  }
>
diff mbox

Patch

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