fix(cli): exit code

This commit is contained in:
lohhiiccc 2026-03-16 10:08:51 -05:00
parent d4dfc554f0
commit 25116a7787
3 changed files with 8 additions and 8 deletions

View file

@ -88,9 +88,9 @@ handle_one_option(int opt, char **argv, void *config,
SET_FLAG(*opt_tracker, (1ULL << bitmask_index)); SET_FLAG(*opt_tracker, (1ULL << bitmask_index));
res = desc->handler(optarg, config); res = desc->handler(optarg, config);
if (CLI_SUCCESS != res) if (CLI_ERROR == res)
return error_invalid_opt(current_opt); return error_invalid_opt(current_opt);
return CLI_SUCCESS; return res;
} }
static void static void

View file

@ -22,7 +22,7 @@ cli_parse_arguments(int argc, char **argv, struct ping_config *config)
init_config(config); init_config(config);
ret = cli_parse(argc, argv, config, g_options, PING_OPT_LEN, ret = cli_parse(argc, argv, config, g_options, PING_OPT_LEN,
opt_str, long_opts); opt_str, long_opts);
if (CLI_ERROR == ret) if (CLI_SUCCESS != ret)
return ret; return ret;
return cli_parse_destinations(argc, argv, optind, config); return cli_parse_destinations(argc, argv, optind, config);
} }

View file

@ -2,8 +2,8 @@
#include <stdlib.h> #include <stdlib.h>
#include <string.h> #include <string.h>
#include "cli.h"
#include "ping/cli.h" #include "ping/cli.h"
#include "ping/ping.h"
#include "version_gen.h" #include "version_gen.h"
/* Forward declarations */ /* Forward declarations */
@ -14,11 +14,11 @@ struct prog_name g_prog_name = {NULL, NULL};
int int
main(int argc, char **argv) main(int argc, char **argv)
{ {
struct ping_config config; struct ping_config config = {0};
int ret; int ret = CLI_ERROR;
if (0 != init_prog_name(argv[0])) if (0 != init_prog_name(argv[0]))
return EXIT_FAILURE; goto cleanup;
ret = cli_parse_arguments(argc, argv, &config); ret = cli_parse_arguments(argc, argv, &config);
if (ret != CLI_SUCCESS) if (ret != CLI_SUCCESS)
goto cleanup; goto cleanup;
@ -28,7 +28,7 @@ main(int argc, char **argv)
cleanup: cleanup:
cli_config_free(&config); cli_config_free(&config);
free(g_prog_name.alloc); free(g_prog_name.alloc);
return (ret == CLI_ERROR) ? EXIT_FAILURE : EXIT_SUCCESS; return (ret == CLI_ERROR) ? 2 : EXIT_SUCCESS;
} }
static int static int