diff options
author | Pavel Březina <pbrezina@redhat.com> | 2016-06-09 15:34:25 +0200 |
---|---|---|
committer | Jakub Hrozek <jhrozek@redhat.com> | 2016-06-27 16:34:57 +0200 |
commit | b03ccb2764a4ccdadb77599cb624b6a17b633438 (patch) | |
tree | 2e38f2de62e77d85e9fca6231a66b4ddce9034b2 /src/tools | |
parent | 3bc651a611a3e5be508875f3ae58bfb5ece2525c (diff) | |
download | sssd-b03ccb2764a4ccdadb77599cb624b6a17b633438.tar.gz sssd-b03ccb2764a4ccdadb77599cb624b6a17b633438.tar.xz sssd-b03ccb2764a4ccdadb77599cb624b6a17b633438.zip |
sss_tools: add commands delimiter
Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/tools')
-rw-r--r-- | src/tools/common/sss_tools.c | 18 | ||||
-rw-r--r-- | src/tools/common/sss_tools.h | 1 |
2 files changed, 19 insertions, 0 deletions
diff --git a/src/tools/common/sss_tools.c b/src/tools/common/sss_tools.c index 7a3a38e5d..a7299c236 100644 --- a/src/tools/common/sss_tools.c +++ b/src/tools/common/sss_tools.c @@ -225,6 +225,15 @@ done: return tool_ctx; } +static bool sss_tool_is_delimiter(struct sss_route_cmd *command) +{ + if (command->command != NULL && command->command[0] == '\0') { + return true; + } + + return false; +} + int sss_tool_usage(const char *tool_name, struct sss_route_cmd *commands) { @@ -234,6 +243,11 @@ int sss_tool_usage(const char *tool_name, fprintf(stderr, _("Available commands:\n")); for (i = 0; commands[i].command != NULL; i++) { + if (sss_tool_is_delimiter(&commands[i])) { + fprintf(stderr, "\n%s\n", commands[i].description); + continue; + } + if (commands[i].description == NULL) { fprintf(stderr, "* %s\n", commands[i].command); } else { @@ -268,6 +282,10 @@ int sss_tool_route(int argc, const char **argv, cmd = argv[1]; for (i = 0; commands[i].command != NULL; i++) { + if (sss_tool_is_delimiter(&commands[i])) { + continue; + } + if (strcmp(commands[i].command, cmd) == 0) { cmdline.exec = argv[0]; cmdline.command = argv[1]; diff --git a/src/tools/common/sss_tools.h b/src/tools/common/sss_tools.h index 1dd83a6fc..2aa13d465 100644 --- a/src/tools/common/sss_tools.h +++ b/src/tools/common/sss_tools.h @@ -44,6 +44,7 @@ typedef int void *pvt); #define SSS_TOOL_COMMAND(cmd, msg, fn) {cmd, _(msg), fn} +#define SSS_TOOL_DELIMITER(message) {"", (message), NULL} struct sss_route_cmd { const char *command; |