diff options
author | Werner Koch <[email protected]> | 2009-02-24 15:13:01 +0000 |
---|---|---|
committer | Werner Koch <[email protected]> | 2009-02-24 15:13:01 +0000 |
commit | f0dccac380b172291e7bea8a43cb0ec44b49c3bf (patch) | |
tree | 47b38e8ac4224c919c18c10175fd1ee3a4b0b34c /src/opassuan.c | |
parent | Fix spawn prototype for w32 glib and qt versions. (diff) | |
download | gpgme-f0dccac380b172291e7bea8a43cb0ec44b49c3bf.tar.gz gpgme-f0dccac380b172291e7bea8a43cb0ec44b49c3bf.zip |
Chnaged the op-assuan interface.
Diffstat (limited to 'src/opassuan.c')
-rw-r--r-- | src/opassuan.c | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/opassuan.c b/src/opassuan.c index f07dade6..09f69ee8 100644 --- a/src/opassuan.c +++ b/src/opassuan.c @@ -26,11 +26,11 @@ #include "ops.h" #include "util.h" + typedef struct { - /* The result of the assuan command with 0 for OK and an error value - for ERR. */ - gpgme_error_t result; + struct _gpgme_op_assuan_result result; + } *op_data_t; @@ -55,12 +55,12 @@ result_cb (void *priv, gpgme_error_t result) if (!opd) return gpg_error (GPG_ERR_INTERNAL); - opd->result = result; + opd->result.err = result; return 0; } -gpgme_error_t +gpgme_assuan_result_t gpgme_op_assuan_result (gpgme_ctx_t ctx) { gpgme_error_t err; @@ -69,12 +69,12 @@ gpgme_op_assuan_result (gpgme_ctx_t ctx) err = _gpgme_op_data_lookup (ctx, OPDATA_ASSUAN, &hook, -1, NULL); opd = hook; - if (err) - return err; - if (!opd) - return gpg_error (GPG_ERR_INTERNAL); + /* Check in case this function is used without having run a command + before. */ + if (err || !opd) + return NULL; - return opd->result; + return &opd->result; } @@ -105,7 +105,7 @@ opassuan_start (gpgme_ctx_t ctx, int synchronous, opd = hook; if (err) return err; - opd->result = gpg_error (GPG_ERR_UNFINISHED); + opd->result.err = gpg_error (GPG_ERR_UNFINISHED); return _gpgme_engine_op_assuan_transact (ctx->engine, command, result_cb, ctx, |