diff --git a/src/ChangeLog b/src/ChangeLog index 48566fad..6c2ba200 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2009-11-26 Marcus Brinkmann + + * opassuan.c (opassuan_start): Allocate result structure before + beginning operation. + 2009-11-25 Marcus Brinkmann * gpgme-tool.c (gpgme_server): Use assuan_fd_t and assuan_fdopen diff --git a/src/opassuan.c b/src/opassuan.c index 0c535dc1..639a3661 100644 --- a/src/opassuan.c +++ b/src/opassuan.c @@ -29,6 +29,14 @@ #include "util.h" #include "debug.h" +/* LEGACY: Remove this when removing the deprecated result + structure. */ +typedef struct +{ + struct _gpgme_op_assuan_result result; +} *op_data_t; + + static gpgme_error_t opassuan_start (gpgme_ctx_t ctx, int synchronous, const char *command, @@ -50,6 +58,17 @@ opassuan_start (gpgme_ctx_t ctx, int synchronous, if (err) return err; + { + /* LEGACY: Remove this when removing the deprecated result + structure. */ + void *hook; + op_data_t opd; + err = _gpgme_op_data_lookup (ctx, OPDATA_ASSUAN, &hook, + sizeof (*opd), NULL); + if (err) + return err; + } + return _gpgme_engine_op_assuan_transact (ctx->engine, command, data_cb, data_cb_value, inq_cb, inq_cb_value, @@ -138,11 +157,6 @@ struct engine void *engine; }; -typedef struct -{ - struct _gpgme_op_assuan_result result; -} *op_data_t; - gpg_error_t _gpgme_engine_assuan_last_op_err (void *engine); gpgme_assuan_result_t