diff options
author | Marcus Brinkmann <[email protected]> | 2002-06-25 11:14:44 +0000 |
---|---|---|
committer | Marcus Brinkmann <[email protected]> | 2002-06-25 11:14:44 +0000 |
commit | ea042a1fa9a2909a32ced5b0773216e745fcf927 (patch) | |
tree | 6590a57c23c4100ba61ed1097f6465f4a1f818fb | |
parent | Disable debug output (diff) | |
download | gpgme-ea042a1fa9a2909a32ced5b0773216e745fcf927.tar.gz gpgme-ea042a1fa9a2909a32ced5b0773216e745fcf927.zip |
2002-06-25 Marcus Brinkmann <[email protected]>
* engine-gpgsm.c (_gpgme_gpgsm_op_export): Implement.
Diffstat (limited to '')
-rw-r--r-- | gpgme/ChangeLog | 4 | ||||
-rw-r--r-- | gpgme/engine-gpgsm.c | 20 |
2 files changed, 22 insertions, 2 deletions
diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index b896650a..cd73a3e2 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,7 @@ +2002-06-25 Marcus Brinkmann <[email protected]> + + * engine-gpgsm.c (_gpgme_gpgsm_op_export): Implement. + 2002-06-21 Marcus Brinkmann <[email protected]> * engine-gpgsm.c (gpgsm_assuan_simple_command): Return ERR. diff --git a/gpgme/engine-gpgsm.c b/gpgme/engine-gpgsm.c index 7e26f0dd..6115b25b 100644 --- a/gpgme/engine-gpgsm.c +++ b/gpgme/engine-gpgsm.c @@ -759,8 +759,24 @@ GpgmeError _gpgme_gpgsm_op_export (GpgsmObject gpgsm, GpgmeRecipients recp, GpgmeData keydata, int use_armor) { - /* FIXME */ - return mk_error (Not_Implemented); + GpgmeError err; + + if (!gpgsm) + return mk_error (Invalid_Value); + + gpgsm->command = xtrystrdup ("EXPORT"); + if (!gpgsm->command) + return mk_error (Out_Of_Core); + + gpgsm->output_cb.data = keydata; + err = gpgsm_set_fd (gpgsm->assuan_ctx, "OUTPUT", gpgsm->output_fd_server, + use_armor ? "--armor" : 0); + if (err) + return err; + _gpgme_io_close (gpgsm->input_cb.fd); + _gpgme_io_close (gpgsm->message_cb.fd); + + return 0; } |