From 25116a77874d35baf9ea0a824be3045e8495f1ac Mon Sep 17 00:00:00 2001 From: lohhiiccc <96543753+lohhiiccc@users.noreply.github.com> Date: Mon, 16 Mar 2026 10:08:51 -0500 Subject: [PATCH] fix(cli): exit code --- src/cli/parse.c | 4 ++-- src/ping/cli/parse.c | 2 +- src/ping/main.c | 10 +++++----- 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/src/cli/parse.c b/src/cli/parse.c index 033ab6b..a93b492 100644 --- a/src/cli/parse.c +++ b/src/cli/parse.c @@ -88,9 +88,9 @@ handle_one_option(int opt, char **argv, void *config, SET_FLAG(*opt_tracker, (1ULL << bitmask_index)); res = desc->handler(optarg, config); - if (CLI_SUCCESS != res) + if (CLI_ERROR == res) return error_invalid_opt(current_opt); - return CLI_SUCCESS; + return res; } static void diff --git a/src/ping/cli/parse.c b/src/ping/cli/parse.c index 62cb08c..5c01d55 100644 --- a/src/ping/cli/parse.c +++ b/src/ping/cli/parse.c @@ -22,7 +22,7 @@ cli_parse_arguments(int argc, char **argv, struct ping_config *config) init_config(config); ret = cli_parse(argc, argv, config, g_options, PING_OPT_LEN, opt_str, long_opts); - if (CLI_ERROR == ret) + if (CLI_SUCCESS != ret) return ret; return cli_parse_destinations(argc, argv, optind, config); } diff --git a/src/ping/main.c b/src/ping/main.c index 12b4ec0..60e094f 100644 --- a/src/ping/main.c +++ b/src/ping/main.c @@ -2,8 +2,8 @@ #include #include +#include "cli.h" #include "ping/cli.h" -#include "ping/ping.h" #include "version_gen.h" /* Forward declarations */ @@ -14,11 +14,11 @@ struct prog_name g_prog_name = {NULL, NULL}; int main(int argc, char **argv) { - struct ping_config config; - int ret; + struct ping_config config = {0}; + int ret = CLI_ERROR; if (0 != init_prog_name(argv[0])) - return EXIT_FAILURE; + goto cleanup; ret = cli_parse_arguments(argc, argv, &config); if (ret != CLI_SUCCESS) goto cleanup; @@ -28,7 +28,7 @@ main(int argc, char **argv) cleanup: cli_config_free(&config); free(g_prog_name.alloc); - return (ret == CLI_ERROR) ? EXIT_FAILURE : EXIT_SUCCESS; + return (ret == CLI_ERROR) ? 2 : EXIT_SUCCESS; } static int