diff options
| -rw-r--r-- | gpgme/ChangeLog | 6 | ||||
| -rw-r--r-- | gpgme/encrypt-sign.c | 9 | ||||
| -rw-r--r-- | gpgme/gpgme.c | 19 | 
3 files changed, 17 insertions, 17 deletions
| diff --git a/gpgme/ChangeLog b/gpgme/ChangeLog index 37e90d2a..0a31b5c2 100644 --- a/gpgme/ChangeLog +++ b/gpgme/ChangeLog @@ -1,3 +1,9 @@ +2002-08-20  Marcus Brinkmann  <[email protected]> + +	* gpgme.c (_gpgme_set_op_info): Append data on subsequent calls. +	* encrypt-sign.c (encrypt_sign_status_handler): Remove op_info +	handling. +  2002-08-19  Werner Koch  <[email protected]>  	* decrypt.c (is_token,skip_token): Duplicated from verify.c diff --git a/gpgme/encrypt-sign.c b/gpgme/encrypt-sign.c index 3ea6f285..9e49e584 100644 --- a/gpgme/encrypt-sign.c +++ b/gpgme/encrypt-sign.c @@ -40,16 +40,7 @@ encrypt_sign_status_handler (GpgmeCtx ctx, GpgmeStatusCode code, char *args)    size_t encrypt_info_len;    _gpgme_encrypt_status_handler (ctx, code, args); - -  if (code == GPGME_STATUS_EOF) -    { -      encrypt_info = gpgme_data_release_and_get_mem (ctx->op_info, -						     &encrypt_info_len); -      ctx->op_info = NULL; -    }    _gpgme_sign_status_handler (ctx, code, args); -  if (code == GPGME_STATUS_EOF && encrypt_info) -    _gpgme_data_append (ctx->op_info, encrypt_info, encrypt_info_len);  } diff --git a/gpgme/gpgme.c b/gpgme/gpgme.c index f96bf5ae..6ee2bb18 100644 --- a/gpgme/gpgme.c +++ b/gpgme/gpgme.c @@ -175,20 +175,23 @@ gpgme_get_op_info (GpgmeCtx ctx, int reserved)  } -/* - * Store the data object with the operation info in the - * context. Caller should not use that object anymore. - */ +/* Store the data object INFO with the operation info in the context +   CTX.  INFO is consumed.  Subsequent calls append the data.  */  void  _gpgme_set_op_info (GpgmeCtx ctx, GpgmeData info)  {    assert (ctx); -  gpgme_data_release (ctx->op_info); -  ctx->op_info = NULL; - -  if (info) +  if (!ctx->op_info)      ctx->op_info = info; +  else +    { +      char *info_mem = 0; +      size_t info_len; + +      info_mem = gpgme_data_release_and_get_mem (info, &info_len); +      _gpgme_data_append (ctx->op_info, info_mem, info_len); +    }  } | 
