summaryrefslogtreecommitdiffstats
path: root/src/tools
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2016-06-09 15:34:25 +0200
committerJakub Hrozek <jhrozek@redhat.com>2016-06-27 16:34:57 +0200
commitb03ccb2764a4ccdadb77599cb624b6a17b633438 (patch)
tree2e38f2de62e77d85e9fca6231a66b4ddce9034b2 /src/tools
parent3bc651a611a3e5be508875f3ae58bfb5ece2525c (diff)
downloadsssd-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.c18
-rw-r--r--src/tools/common/sss_tools.h1
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;