aboutsummaryrefslogtreecommitdiffstats
path: root/src/gpgme-json.c
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2018-04-18 09:34:16 +0000
committerWerner Koch <[email protected]>2018-04-18 09:34:16 +0000
commit49a617f8bbff116884ca5c7238c2e0ea4e26ce59 (patch)
tree5efa389a056b5bd4d20c48f100020c081df9b167 /src/gpgme-json.c
parentjson: Add command "getmore" to gpgme-json. (diff)
downloadgpgme-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.c24
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]))