diff options
author | Werner Koch <[email protected]> | 2009-11-17 13:06:05 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2009-11-17 13:06:05 +0000 |
commit | 1cb08a35a6eb214202b196aa2e69dafb0ef5aebd (patch) | |
tree | 146e32d6bdb8bfba0fba7d96c3041ce563db08bf /src/engine-uiserver.c | |
parent | 2009-11-10 Marcus Brinkmann <[email protected]> (diff) | |
download | gpgme-1cb08a35a6eb214202b196aa2e69dafb0ef5aebd.tar.gz gpgme-1cb08a35a6eb214202b196aa2e69dafb0ef5aebd.zip |
Fixes for the UI server engine .
Diffstat (limited to 'src/engine-uiserver.c')
-rw-r--r-- | src/engine-uiserver.c | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/src/engine-uiserver.c b/src/engine-uiserver.c index 623dd593..9e910b6f 100644 --- a/src/engine-uiserver.c +++ b/src/engine-uiserver.c @@ -1153,6 +1153,7 @@ uiserver_sign (void *engine, gpgme_data_t in, gpgme_data_t out, gpgme_error_t err = 0; const char *protocol; char *cmd; + gpgme_key_t key; if (!uiserver || !in || !out) return gpg_error (GPG_ERR_INV_VALUE); @@ -1169,26 +1170,27 @@ uiserver_sign (void *engine, gpgme_data_t in, gpgme_data_t out, (mode == GPGME_SIG_MODE_DETACH) ? " --detached" : "") < 0) return gpg_error_from_errno (errno); - { - gpgme_key_t key = gpgme_signers_enum (ctx, 0); - const char *s = NULL; - - if (key && key->uids) - s = key->uids->email; - - if (s && strlen (s) < 80) - { - char buf[100]; - - strcpy (stpcpy (buf, "SENDER --info "), s); - err = uiserver_assuan_simple_command (uiserver->assuan_ctx, buf, - uiserver->status.fnc, - uiserver->status.fnc_value); - } - else - err = gpg_error (GPG_ERR_INV_VALUE); - gpgme_key_unref (key); - if (err) + key = gpgme_signers_enum (ctx, 0); + if (key) + { + const char *s = NULL; + + if (key && key->uids) + s = key->uids->email; + + if (s && strlen (s) < 80) + { + char buf[100]; + + strcpy (stpcpy (buf, "SENDER --info "), s); + err = uiserver_assuan_simple_command (uiserver->assuan_ctx, buf, + uiserver->status.fnc, + uiserver->status.fnc_value); + } + else + err = gpg_error (GPG_ERR_INV_VALUE); + gpgme_key_unref (key); + if (err) { free (cmd); return err; |