Matej Habrnal 0b651c
From 87b450235e38a4d00f3a4b008229fe02debec26f Mon Sep 17 00:00:00 2001
Matej Habrnal 0b651c
From: Matej Habrnal <mhabrnal@redhat.com>
Matej Habrnal 0b651c
Date: Mon, 8 Sep 2014 13:27:56 +0200
Matej Habrnal 0b651c
Subject: [PATCH] cli: make consistent commands in abrt-cli
Matej Habrnal 0b651c
Matej Habrnal 0b651c
Add abbreviations to the client's parametres.
Matej Habrnal 0b651c
Matej Habrnal 0b651c
Related to rhbz#1066501
Matej Habrnal 0b651c
---
Matej Habrnal 0b651c
 doc/abrt-cli.txt      |  2 +-
Matej Habrnal 0b651c
 src/cli/abrt-cli.c    | 20 +++++++++++---------
Matej Habrnal 0b651c
 src/cli/builtin-cmd.h |  2 +-
Matej Habrnal 0b651c
 src/cli/rm.c          |  2 +-
Matej Habrnal 0b651c
 4 files changed, 14 insertions(+), 12 deletions(-)
Matej Habrnal 0b651c
Matej Habrnal 0b651c
diff --git a/doc/abrt-cli.txt b/doc/abrt-cli.txt
Matej Habrnal 0b651c
index 792e781..1c95655 100644
Matej Habrnal 0b651c
--- a/doc/abrt-cli.txt
Matej Habrnal 0b651c
+++ b/doc/abrt-cli.txt
Matej Habrnal 0b651c
@@ -9,7 +9,7 @@ SYNOPSIS
Matej Habrnal 0b651c
 --------
Matej Habrnal 0b651c
 'abrt-cli' list   [-vdf] [DIR]...
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
-'abrt-cli' rm     [-v]   DIR...
Matej Habrnal 0b651c
+'abrt-cli' remove [-v]   DIR...
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
 'abrt-cli' report [-v]   DIR...
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
diff --git a/src/cli/abrt-cli.c b/src/cli/abrt-cli.c
Matej Habrnal 0b651c
index a95b8bf..c04c132 100644
Matej Habrnal 0b651c
--- a/src/cli/abrt-cli.c
Matej Habrnal 0b651c
+++ b/src/cli/abrt-cli.c
Matej Habrnal 0b651c
@@ -20,14 +20,15 @@
Matej Habrnal 0b651c
 #include "libabrt.h"
Matej Habrnal 0b651c
 #include "builtin-cmd.h"
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
-#define USAGE_OPTS_WIDTH 12
Matej Habrnal 0b651c
+#define USAGE_OPTS_WIDTH 16
Matej Habrnal 0b651c
 #define USAGE_GAP         2
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
 /* TODO: add --pager(default) and --no-pager */
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
-#define CMD(NAME, help) { #NAME, cmd_##NAME , (help) }
Matej Habrnal 0b651c
+#define CMD(NAME, ABBREV, help) { #NAME, ABBREV, cmd_##NAME , (help) }
Matej Habrnal 0b651c
 struct cmd_struct {
Matej Habrnal 0b651c
     const char *cmd;
Matej Habrnal 0b651c
+    const char *abbrev;
Matej Habrnal 0b651c
     int (*fn)(int, const char **);
Matej Habrnal 0b651c
     const char *help;
Matej Habrnal 0b651c
 };
Matej Habrnal 0b651c
@@ -41,6 +42,7 @@ static void list_cmds_help(const struct cmd_struct *commands)
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
         pos = fprintf(stderr, "    ");
Matej Habrnal 0b651c
         pos += fprintf(stderr, "%s", p->cmd);
Matej Habrnal 0b651c
+        pos += fprintf(stderr, ", %s", p->abbrev);
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
         if (pos <= USAGE_OPTS_WIDTH)
Matej Habrnal 0b651c
             pad = USAGE_OPTS_WIDTH - pos;
Matej Habrnal 0b651c
@@ -110,7 +112,7 @@ static void handle_internal_command(int argc, const char **argv,
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
     for (const struct cmd_struct *p = commands; p->cmd; ++p)
Matej Habrnal 0b651c
     {
Matej Habrnal 0b651c
-        if (strcmp(p->cmd, cmd) != 0)
Matej Habrnal 0b651c
+        if (strcmp(p->cmd, cmd) != 0 && strcmp(p->abbrev, cmd) != 0)
Matej Habrnal 0b651c
             continue;
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
         exit(p->fn(argc, argv));
Matej Habrnal 0b651c
@@ -143,12 +145,12 @@ int main(int argc, const char **argv)
Matej Habrnal 0b651c
         );
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
     const struct cmd_struct commands[] = {
Matej Habrnal 0b651c
-        CMD(list, _("List problems [in DIRs]")),
Matej Habrnal 0b651c
-        CMD(rm, _("Remove problem directory DIR")),
Matej Habrnal 0b651c
-        CMD(report, _("Analyze and report problem data in DIR")),
Matej Habrnal 0b651c
-        CMD(info, _("Print information about DIR")),
Matej Habrnal 0b651c
-        CMD(status, _("Print the count of the recent crashes")),
Matej Habrnal 0b651c
-        {NULL, NULL, NULL}
Matej Habrnal 0b651c
+        CMD(list, "ls", _("List problems [in DIRs]")),
Matej Habrnal 0b651c
+        CMD(remove, "rm", _("Remove problem directory DIR")),
Matej Habrnal 0b651c
+        CMD(report, "e",_("Analyze and report problem data in DIR")),
Matej Habrnal 0b651c
+        CMD(info, "i", _("Print information about DIR")),
Matej Habrnal 0b651c
+        CMD(status, "st",_("Print the count of the recent crashes")),
Matej Habrnal 0b651c
+        {NULL, NULL, NULL, NULL}
Matej Habrnal 0b651c
     };
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
     migrate_to_xdg_dirs();
Matej Habrnal 0b651c
diff --git a/src/cli/builtin-cmd.h b/src/cli/builtin-cmd.h
Matej Habrnal 0b651c
index 491760b..18588e1 100644
Matej Habrnal 0b651c
--- a/src/cli/builtin-cmd.h
Matej Habrnal 0b651c
+++ b/src/cli/builtin-cmd.h
Matej Habrnal 0b651c
@@ -21,7 +21,7 @@
Matej Habrnal 0b651c
 #define _BUILTIN_CMD_H_
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
 extern int cmd_list(int argc, const char **argv);
Matej Habrnal 0b651c
-extern int cmd_rm(int argc, const char **argv);
Matej Habrnal 0b651c
+extern int cmd_remove(int argc, const char **argv);
Matej Habrnal 0b651c
 extern int cmd_report(int argc, const char **argv);
Matej Habrnal 0b651c
 extern int cmd_info(int argc, const char **argv);
Matej Habrnal 0b651c
 extern int cmd_status(int argc, const char **argv);
Matej Habrnal 0b651c
diff --git a/src/cli/rm.c b/src/cli/rm.c
Matej Habrnal 0b651c
index 8f185a4..fe458ff 100644
Matej Habrnal 0b651c
--- a/src/cli/rm.c
Matej Habrnal 0b651c
+++ b/src/cli/rm.c
Matej Habrnal 0b651c
@@ -25,7 +25,7 @@
Matej Habrnal 0b651c
  *   add -q, --quite
Matej Habrnal 0b651c
  */
Matej Habrnal 0b651c
 
Matej Habrnal 0b651c
-int cmd_rm(int argc, const char **argv)
Matej Habrnal 0b651c
+int cmd_remove(int argc, const char **argv)
Matej Habrnal 0b651c
 {
Matej Habrnal 0b651c
     const char *program_usage_string = _(
Matej Habrnal 0b651c
         "& rm [options] DIR..."
Matej Habrnal 0b651c
-- 
Matej Habrnal 0b651c
1.9.3
Matej Habrnal 0b651c