[pacman-dev] [PATCH 1/3] vercmp: fail when the wrong number of arguments are provided
Fixes FS#49093
Signed-off-by: Eli Schwartz
I think two ways to ask for this are enough for everyone, and we have
never documented this anyway.
Signed-off-by: Eli Schwartz
Signed-off-by: Eli Schwartz
On 12/17/17 at 02:28pm, Eli Schwartz wrote:
Fixes FS#49093
Signed-off-by: Eli Schwartz
--- 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..7b34b30a 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) { + printf("error: %d arguments specified but vercmp needs 2\n", argc-1);
Errors should go to stderr, not stdout, and our style guidelines require spaces around arithmetic operators.
+ return EXIT_FAILURE; }
- ret = alpm_pkg_vercmp(s1, s2); + ret = alpm_pkg_vercmp(argv[1], argv[2]); printf("%d\n", ret); return EXIT_SUCCESS; } -- 2.15.1
Fixes FS#49093
Signed-off-by: Eli Schwartz
On 18/12/17 05:28, Eli Schwartz wrote:
I think two ways to ask for this are enough for everyone, and we have never documented this anyway.
Thanks, A
On 18/12/17 13:57, Eli Schwartz wrote:
Fixes FS#49093
Signed-off-by: Eli Schwartz
--- 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; }
Fixes FS#49093
Signed-off-by: Eli Schwartz
participants (3)
-
Allan McRae
-
Andrew Gregory
-
Eli Schwartz