summaryrefslogtreecommitdiffstats
path: root/cli/src/cli-cmd-snapshot.c
diff options
context:
space:
mode:
Diffstat (limited to 'cli/src/cli-cmd-snapshot.c')
-rw-r--r--cli/src/cli-cmd-snapshot.c20
1 files changed, 14 insertions, 6 deletions
diff --git a/cli/src/cli-cmd-snapshot.c b/cli/src/cli-cmd-snapshot.c
index 2716dd094af..c070bb85dec 100644
--- a/cli/src/cli-cmd-snapshot.c
+++ b/cli/src/cli-cmd-snapshot.c
@@ -20,6 +20,7 @@
#include "cli.h"
#include "cli-cmd.h"
+#include "cli-mem-types.h"
extern rpc_clnt_prog_t *cli_rpc_prog;
@@ -135,12 +136,19 @@ cli_cmd_snapshot_help_cbk (struct cli_state *state,
const char **words,
int wordcount)
{
- struct cli_cmd *cmd = NULL;
-
- for (cmd = snapshot_cmds; cmd->pattern; cmd++)
- if (_gf_false == cmd->disable)
- cli_out ("%s - %s", cmd->pattern, cmd->desc);
-
+ struct cli_cmd *cmd = NULL;
+ struct cli_cmd *snap_cmd = NULL;
+ int count = 0;
+
+ cmd = GF_CALLOC (1, sizeof (snapshot_cmds), cli_mt_cli_cmd);
+ memcpy (cmd, snapshot_cmds, sizeof (snapshot_cmds));
+ count = (sizeof (snapshot_cmds) / sizeof (struct cli_cmd));
+ cli_cmd_sort (cmd, count);
+
+ for (snap_cmd = cmd; snap_cmd->pattern; snap_cmd++)
+ if (_gf_false == snap_cmd->disable)
+ cli_out ("%s - %s", snap_cmd->pattern, snap_cmd->desc);
+ GF_FREE (cmd);
return 0;
}