diff options
author | Werner Koch <[email protected]> | 2018-04-18 09:34:16 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2018-04-18 09:34:16 +0000 |
commit | 49a617f8bbff116884ca5c7238c2e0ea4e26ce59 (patch) | |
tree | 5efa389a056b5bd4d20c48f100020c081df9b167 /src/gpgme-json.c | |
parent | json: Add command "getmore" to gpgme-json. (diff) | |
download | gpgme-49a617f8bbff116884ca5c7238c2e0ea4e26ce59.tar.gz gpgme-49a617f8bbff116884ca5c7238c2e0ea4e26ce59.zip |
json: Improve help meta command in gpgme-json.
* src/gpgme-json.c (process_meta_commands): Add ",help CMD".
Signed-off-by: Werner Koch <[email protected]>
Diffstat (limited to 'src/gpgme-json.c')
-rw-r--r-- | src/gpgme-json.c | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/src/gpgme-json.c b/src/gpgme-json.c index 576e63e5..f63f1967 100644 --- a/src/gpgme-json.c +++ b/src/gpgme-json.c @@ -1156,13 +1156,23 @@ process_meta_commands (const char *request) request++; if (!strncmp (request, "help", 4) && (spacep (request+4) || !request[4])) - result = process_request ("{ \"op\": \"help\"," - " \"interactive_help\": " - "\"\\nMeta commands:\\n" - " ,read FNAME Process data from FILE\\n" - " ,help This help\\n" - " ,quit Terminate process\"" - "}"); + { + if (request[4]) + { + char *buf = xstrconcat ("{ \"help\":true, \"op\":\"", request+5, + "\" }", NULL); + result = process_request (buf); + xfree (buf); + } + else + result = process_request ("{ \"op\": \"help\"," + " \"interactive_help\": " + "\"\\nMeta commands:\\n" + " ,read FNAME Process data from FILE\\n" + " ,help CMD Print help for a command\\n" + " ,quit Terminate process\"" + "}"); + } else if (!strncmp (request, "quit", 4) && (spacep (request+4) || !request[4])) exit (0); else if (!strncmp (request, "read", 4) && (spacep (request+4) || !request[4])) |