summaryrefslogtreecommitdiffstats
path: root/cmd-list-keys.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2008-06-05 16:35:32 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2008-06-05 16:35:32 +0000
commit642c0b00ab43079cd251ec9616963b8a806b3464 (patch)
tree40f2bcf2f39d93feb21481a8547f267166f627f0 /cmd-list-keys.c
parent7325fea37dd75ac89828c6cfdfbcbd8d54548241 (diff)
Easy bits of arg printing for list-keys.
Diffstat (limited to 'cmd-list-keys.c')
-rw-r--r--cmd-list-keys.c17
1 files changed, 12 insertions, 5 deletions
diff --git a/cmd-list-keys.c b/cmd-list-keys.c
index d31c4ef8..def2fb6f 100644
--- a/cmd-list-keys.c
+++ b/cmd-list-keys.c
@@ -1,4 +1,4 @@
-/* $Id: cmd-list-keys.c,v 1.8 2008-06-03 05:35:51 nicm Exp $ */
+/* $Id: cmd-list-keys.c,v 1.9 2008-06-05 16:35:31 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -24,7 +24,7 @@
* List key bindings.
*/
-void cmd_list_keys_exec(void *, struct cmd_ctx *);
+void cmd_list_keys_exec(struct cmd *, struct cmd_ctx *);
const struct cmd_entry cmd_list_keys_entry = {
"list-keys", "lsk",
@@ -35,21 +35,28 @@ const struct cmd_entry cmd_list_keys_entry = {
NULL,
NULL,
NULL,
- NULL
+ NULL,
+ NULL,
};
void
-cmd_list_keys_exec(unused void *ptr, struct cmd_ctx *ctx)
+cmd_list_keys_exec(unused struct cmd *self, struct cmd_ctx *ctx)
{
struct binding *bd;
const char *key;
+ char s[BUFSIZ];
u_int i;
for (i = 0; i < ARRAY_LENGTH(&key_bindings); i++) {
bd = ARRAY_ITEM(&key_bindings, i);
if ((key = key_string_lookup_key(bd->key)) == NULL)
continue;
- ctx->print(ctx, "%11s: %s", key, bd->cmd->entry->name);
+ if (bd->cmd->entry->print == NULL) {
+ ctx->print(ctx, "%11s: %s", key, bd->cmd->entry->name);
+ continue;
+ }
+ bd->cmd->entry->print(bd->cmd, s, sizeof s);
+ ctx->print(ctx, "%11s: %s", key, s);
}
if (ctx->cmdclient != NULL)