From c943380b7a2cc9b32f81c22224fc6f92e8ea8469 Mon Sep 17 00:00:00 2001 From: Werner Koch Date: Wed, 14 Sep 2016 12:41:16 +0200 Subject: core: New function gpgme_op_revuid. * src/engine.h (GENKEY_EXTRAFLAG_REVOKE): New. * src/genkey.c (adduid_start): Rename to addrevuid_start. Add arg REVOKE and pass it as extraflags. Remove useless ARMOR extraflag. Adjust callers. (gpgme_op_revuid_start, gpgme_op_revuid): New. * src/gpgme.def, src/libgpgme.vers: Add them. * tests/run-genkey.c: Add option --revuid. Signed-off-by: Werner Koch --- src/engine-gpg.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/engine-gpg.c') diff --git a/src/engine-gpg.c b/src/engine-gpg.c index db6637a2..534d5d10 100644 --- a/src/engine-gpg.c +++ b/src/engine-gpg.c @@ -2115,14 +2115,19 @@ gpg_addkey (engine_gpg_t gpg, static gpgme_error_t gpg_adduid (engine_gpg_t gpg, gpgme_key_t key, - const char *userid) + const char *userid, + unsigned int extraflags) { gpgme_error_t err; if (!key || !key->fpr || !userid) return gpg_error (GPG_ERR_INV_ARG); - err = add_arg (gpg, "--quick-adduid"); + if ((extraflags & GENKEY_EXTRAFLAG_REVOKE)) + err = add_arg (gpg, "--quick-revuid"); + else + err = add_arg (gpg, "--quick-adduid"); + if (!err) err = add_arg (gpg, "--"); if (!err) @@ -2184,7 +2189,7 @@ gpg_genkey (void *engine, else if (!userid && key) err = gpg_addkey (gpg, algo, expires, key, flags, extraflags); else if (userid && key && !algo) - err = gpg_adduid (gpg, key, userid); + err = gpg_adduid (gpg, key, userid, extraflags); else err = gpg_error (GPG_ERR_INV_VALUE); -- cgit v1.2.3