diff options
author | Marcus Brinkmann <[email protected]> | 2007-10-18 14:41:51 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2007-10-18 14:41:51 +0000 |
commit | 1f7a5baff056b0bdc735927e89b6aaa4bce95886 (patch) | |
tree | 37c250d067219f8cb34f936a1dabffcdec4805e1 | |
parent | Add assuan_set_io_hooks. (diff) | |
download | libassuan-1f7a5baff056b0bdc735927e89b6aaa4bce95886.tar.gz libassuan-1f7a5baff056b0bdc735927e89b6aaa4bce95886.zip |
doc/
2007-10-18 Marcus Brinkmann <[email protected]>
* assuan.texi (Client requests): Document HELP.
src/
2007-10-18 Marcus Brinkmann <[email protected]>
* assuan-handler.c (std_handler_help): New function.
(std_cmd_table): Add new command HELP.
-rw-r--r-- | doc/ChangeLog | 4 | ||||
-rw-r--r-- | doc/assuan.texi | 3 | ||||
-rw-r--r-- | src/ChangeLog | 5 | ||||
-rw-r--r-- | src/assuan-handler.c | 18 |
4 files changed, 29 insertions, 1 deletions
diff --git a/doc/ChangeLog b/doc/ChangeLog index 7f47266..0269c27 100644 --- a/doc/ChangeLog +++ b/doc/ChangeLog @@ -1,3 +1,7 @@ +2007-10-18 Marcus Brinkmann <[email protected]> + + * assuan.texi (Client requests): Document HELP. + 2007-09-07 Moritz Schulte <[email protected]> * assuan.texi (Client code): mention assuan_send_data() instead of diff --git a/doc/assuan.texi b/doc/assuan.texi index 8b0b36b..d444d4d 100644 --- a/doc/assuan.texi +++ b/doc/assuan.texi @@ -339,7 +339,8 @@ Used by a client to mark the end of raw data. The server may send END to indicate a partial end of data. @item HELP -Reserved for future extensions. +Lists all commands that the server understands as comment lines on the +status channel. @item QUIT Reserved for future extensions. diff --git a/src/ChangeLog b/src/ChangeLog index fa9bd23..037db8b 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2007-10-18 Marcus Brinkmann <[email protected]> + + * assuan-handler.c (std_handler_help): New function. + (std_cmd_table): Add new command HELP. + 2007-10-08 Werner Koch <[email protected]> * assuan-util.c (assuan_set_io_hooks): New. diff --git a/src/assuan-handler.c b/src/assuan-handler.c index 0b9700e..2a80596 100644 --- a/src/assuan-handler.c +++ b/src/assuan-handler.c @@ -139,6 +139,23 @@ std_handler_reset (assuan_context_t ctx, char *line) } static int +std_handler_help (assuan_context_t ctx, char *line) +{ + int i; + char buf[ASSUAN_LINELENGTH]; + + for (i = 0; i < ctx->cmdtbl_used; i++) + { + snprintf (buf, sizeof (buf), "# %s", ctx->cmdtbl[i].name); + buf[ASSUAN_LINELENGTH - 1] = '\0'; + assuan_write_line (ctx, buf); + } + + return PROCESS_DONE (ctx, 0); +} + + +static int std_handler_end (assuan_context_t ctx, char *line) { return PROCESS_DONE (ctx, set_error (ctx, Not_Implemented, NULL)); @@ -232,6 +249,7 @@ static struct { { "AUTH", std_handler_auth, 1 }, { "RESET", std_handler_reset, 1 }, { "END", std_handler_end, 1 }, + { "HELP", std_handler_help, 1 }, { "INPUT", std_handler_input }, { "OUTPUT", std_handler_output }, |