From 3d95ee49b4e45c11d0a9d6368ea3ec6808006a35 Mon Sep 17 00:00:00 2001 From: zachir Date: Mon, 11 Mar 2024 02:00:31 -0500 Subject: Add error handling for non-numbers passed Non-numbers that are passed will return -1, and print an error message. This includes decimal places, as only integers can be even or odd. --- src/main.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main.c b/src/main.c index e415020..ac45fd5 100644 --- a/src/main.c +++ b/src/main.c @@ -35,7 +35,7 @@ int main(int argc, char **argv) { quiet = false; value = false; result = 0; - char *output; + char *end = NULL; if (argc > 1) { for (int i = 1; i < argc; i++) { @@ -55,7 +55,11 @@ int main(int argc, char **argv) { break; } } - result = strtol(argv[i], &output, 10); + result = strtol(argv[i], &end, 10); + if ((end == argv[i]) || (end[0] != '\0')) { + fprintf(stderr, "Please provide an integer, not %s!\n", argv[i]); + return ERR; + } value = true; } } else { -- cgit v1.2.3