fix: use build in libcli print help function
This commit is contained in:
parent
dccdca8114
commit
0bc4f724df
3 changed files with 28 additions and 48 deletions
|
|
@ -62,7 +62,6 @@ libping_core_la_SOURCES = \
|
|||
cli/parse_utils/parse_inet_addr.c \
|
||||
cli/parse_utils/parse_destinations.c \
|
||||
cli/config_free.c \
|
||||
cli/messages/help.c \
|
||||
cli/messages/version.c \
|
||||
cli/messages/error.c \
|
||||
core/ping.c \
|
||||
|
|
|
|||
|
|
@ -1,11 +1,38 @@
|
|||
#include <stdio.h>
|
||||
#include "cli.h"
|
||||
#include "compiler.h"
|
||||
#include "internal/cli/options.h"
|
||||
#include "internal/ping/cli_handlers.h"
|
||||
#include "ping/cli.h"
|
||||
#include "internal/cli/messages.h"
|
||||
|
||||
/* Forward declarations */
|
||||
static inline const char * option_arg_type_to_str(int type);
|
||||
/* -------------------- */
|
||||
|
||||
int
|
||||
cli_handle_help(__unused const char *arg, __unused void *config_void)
|
||||
{
|
||||
print_help();
|
||||
printf("ft_ping - Send ICMP ECHO_REQUEST to network hosts\n");
|
||||
printf("Usage: ft_ping [options] <destination>\n\n");
|
||||
cli_print_options(g_options, PING_OPT_LEN, option_arg_type_to_str);
|
||||
|
||||
return CLI_EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
static inline const char *
|
||||
option_arg_type_to_str(int type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case OPT_ARG_NONE: return "";
|
||||
case OPT_ARG_INT: return "<NUM>";
|
||||
case OPT_ARG_UINT: return "<NUM>";
|
||||
case OPT_ARG_SECONDS: return "<SEC>";
|
||||
case OPT_ARG_BYTES: return "<SIZE>";
|
||||
case OPT_ARG_TTL: return "<TTL>";
|
||||
case OPT_ARG_PATTERN: return "<HEX>";
|
||||
case OPT_ARG_STRING: return "<STR>";
|
||||
default: return "<ARG>";
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,46 +0,0 @@
|
|||
#include <stdio.h>
|
||||
|
||||
#include "internal/ping/cli_handlers.h"
|
||||
#include "internal/cli/options.h"
|
||||
|
||||
/* Forward declarations */
|
||||
static inline const char * option_arg_type_to_str(int type);
|
||||
/* -------------------- */
|
||||
|
||||
void
|
||||
print_help(void)
|
||||
{
|
||||
printf("ft_ping - Send ICMP ECHO_REQUEST to network hosts\n");
|
||||
printf("Usage: ft_ping [options] <destination>\n\n");
|
||||
printf("Options:\n");
|
||||
|
||||
for (size_t i = 0; i < PING_OPT_LEN; ++i)
|
||||
{
|
||||
const struct option_descriptor *opt = &g_options[i];
|
||||
const char *argstr = option_arg_type_to_str(opt->arg_type);
|
||||
|
||||
printf(" -%c, --%-15s %-8s %s\n",
|
||||
opt->short_opt,
|
||||
opt->long_opt,
|
||||
argstr[0] ? argstr : "",
|
||||
opt->description
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
static inline const char *
|
||||
option_arg_type_to_str(int type)
|
||||
{
|
||||
switch (type)
|
||||
{
|
||||
case OPT_ARG_NONE: return "";
|
||||
case OPT_ARG_INT: return "<NUM>";
|
||||
case OPT_ARG_UINT: return "<NUM>";
|
||||
case OPT_ARG_SECONDS: return "<SEC>";
|
||||
case OPT_ARG_BYTES: return "<SIZE>";
|
||||
case OPT_ARG_TTL: return "<TTL>";
|
||||
case OPT_ARG_PATTERN: return "<HEX>";
|
||||
case OPT_ARG_STRING: return "<STR>";
|
||||
default: return "<ARG>";
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Reference in a new issue