diff --git a/includes/cli.h b/includes/cli.h index 62c4396..b4f673b 100644 --- a/includes/cli.h +++ b/includes/cli.h @@ -3,6 +3,11 @@ #include "ft_ping.h" +#define CLI_SUCCESS 0 +#define CLI_ERROR 1 +#define CLI_EXIT_SUCCESS -1 + + typedef int (*t_option_handler)(const char *arg, t_ping_config *config); typedef enum e_option_arg_type diff --git a/src/cli/handlers/handle_count.c b/src/cli/handlers/handle_count.c index b182951..0a0029a 100644 --- a/src/cli/handlers/handle_count.c +++ b/src/cli/handlers/handle_count.c @@ -1,3 +1,4 @@ +#include "cli.h" #include "ft_ping.h" int @@ -5,5 +6,5 @@ cli_handle_count(const char *arg, t_ping_config *config) { (void)arg; (void)config; - return 0; + return CLI_SUCCESS; } diff --git a/src/cli/handlers/handle_flood.c b/src/cli/handlers/handle_flood.c index c5c0d78..53e15f5 100644 --- a/src/cli/handlers/handle_flood.c +++ b/src/cli/handlers/handle_flood.c @@ -1,9 +1,11 @@ +#include "cli.h" #include "ft_ping.h" +#include "ft_ping_flags.h" int cli_handle_flood(const char *arg, t_ping_config *config) { (void)arg; - (void)config; - return 0; + SET_FLAG(config->flags, FLAG_FLOOD); + return CLI_SUCCESS; } diff --git a/src/cli/handlers/handle_help.c b/src/cli/handlers/handle_help.c index c3beaa7..d143a26 100644 --- a/src/cli/handlers/handle_help.c +++ b/src/cli/handlers/handle_help.c @@ -30,7 +30,7 @@ cli_handle_help(const char *arg, t_ping_config *config) opt->description ); } - return -1; + return CLI_EXIT_SUCCESS; } static const char * diff --git a/src/cli/handlers/handle_interval.c b/src/cli/handlers/handle_interval.c index beccd9d..804e434 100644 --- a/src/cli/handlers/handle_interval.c +++ b/src/cli/handlers/handle_interval.c @@ -1,3 +1,4 @@ +#include "cli.h" #include "ft_ping.h" int @@ -5,5 +6,5 @@ cli_handle_interval(const char *arg, t_ping_config *config) { (void)arg; (void)config; - return 0; + return CLI_SUCCESS; } diff --git a/src/cli/handlers/handle_quiet.c b/src/cli/handlers/handle_quiet.c index 86b07d6..f63300b 100644 --- a/src/cli/handlers/handle_quiet.c +++ b/src/cli/handlers/handle_quiet.c @@ -1,4 +1,5 @@ #include "ft_ping.h" +#include "cli.h" #include "ft_ping_flags.h" int @@ -6,5 +7,5 @@ cli_handle_quiet(const char *arg, t_ping_config *config) { (void)arg; SET_FLAG(config->flags, FLAG_QUIET); - return 0; + return CLI_SUCCESS; } diff --git a/src/cli/handlers/handle_size.c b/src/cli/handlers/handle_size.c index a5edb58..0b9ca05 100644 --- a/src/cli/handlers/handle_size.c +++ b/src/cli/handlers/handle_size.c @@ -1,3 +1,4 @@ +#include "cli.h" #include "ft_ping.h" int @@ -5,5 +6,5 @@ cli_handle_size(const char *arg, t_ping_config *config) { (void)arg; (void)config; - return 0; + return CLI_SUCCESS; } diff --git a/src/cli/handlers/handle_timeout.c b/src/cli/handlers/handle_timeout.c index 76740ad..6963523 100644 --- a/src/cli/handlers/handle_timeout.c +++ b/src/cli/handlers/handle_timeout.c @@ -1,3 +1,4 @@ +#include "cli.h" #include "ft_ping.h" int @@ -5,5 +6,5 @@ cli_handle_timeout(const char *arg, t_ping_config *config) { (void)arg; (void)config; - return 0; + return CLI_SUCCESS; } diff --git a/src/cli/handlers/handle_ttl.c b/src/cli/handlers/handle_ttl.c index c7ee5a1..18f9eb5 100644 --- a/src/cli/handlers/handle_ttl.c +++ b/src/cli/handlers/handle_ttl.c @@ -1,3 +1,4 @@ +#include "cli.h" #include "ft_ping.h" int @@ -5,5 +6,5 @@ cli_handle_ttl(const char *arg, t_ping_config *config) { (void)arg; (void)config; - return 0; + return CLI_SUCCESS; } diff --git a/src/cli/handlers/handle_version.c b/src/cli/handlers/handle_version.c index 2f78346..81d9170 100644 --- a/src/cli/handlers/handle_version.c +++ b/src/cli/handlers/handle_version.c @@ -1,3 +1,4 @@ +#include "cli.h" #include "ft_ping.h" #include "version_gen.h" @@ -18,5 +19,5 @@ cli_handle_version(const char *arg, t_ping_config *config) printf("\n"); printf("Build: %s (commit %s)\n", PING_BUILD_DATE, PING_GIT_COMMIT); - return -1; + return CLI_EXIT_SUCCESS; } diff --git a/src/cli/handlers/hanlde_verbose.c b/src/cli/handlers/hanlde_verbose.c index 0a25212..8ef3447 100644 --- a/src/cli/handlers/hanlde_verbose.c +++ b/src/cli/handlers/hanlde_verbose.c @@ -1,9 +1,11 @@ +#include "cli.h" #include "ft_ping.h" +#include "ft_ping_flags.h" int cli_handle_verbose(const char *arg, t_ping_config *config) { (void)arg; - (void)config; - return 0; + SET_FLAG(config->flags, FLAG_VERBOSE); + return CLI_SUCCESS; } diff --git a/src/cli/parse.c b/src/cli/parse.c index c098115..02be546 100644 --- a/src/cli/parse.c +++ b/src/cli/parse.c @@ -39,7 +39,7 @@ hanlde_one_option(int opt, char *optarg, t_ping_config *config) int res; if ('?' == opt) - return 1; + return CLI_ERROR; if (NULL != desc) { res = desc->handler(optarg, config); diff --git a/src/main.c b/src/main.c index 49f51de..6d267a6 100644 --- a/src/main.c +++ b/src/main.c @@ -3,6 +3,7 @@ #include #include +#include "cli.h" #include "ft_ping.h" #include "version_gen.h" @@ -20,7 +21,7 @@ main(int argc, char **argv) if (0 != init_prog_name(argv[0])) return EXIT_FAILURE; ret = cli_parse_arguments(argc, argv, &config); - if (ret != 0) + if (ret != CLI_SUCCESS) return (ret > 0) ? EXIT_FAILURE : EXIT_SUCCESS; printf("PING: Not yet implemented\n");