diff options
Diffstat (limited to 'gpgme/encrypt-sign.c')
| -rw-r--r-- | gpgme/encrypt-sign.c | 35 | 
1 files changed, 19 insertions, 16 deletions
diff --git a/gpgme/encrypt-sign.c b/gpgme/encrypt-sign.c index 67c01c05..12dffd2d 100644 --- a/gpgme/encrypt-sign.c +++ b/gpgme/encrypt-sign.c @@ -37,7 +37,8 @@ encrypt_sign_status_handler (void *priv, gpgme_status_code_t code, char *args)  static gpgme_error_t -encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp, +encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_key_t recp[], +		    gpgme_encrypt_flags_t flags,  		    gpgme_data_t plain, gpgme_data_t cipher)  {    gpgme_error_t err; @@ -46,6 +47,11 @@ encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,    if (err)      return err; +  if (!plain) +    return GPGME_No_Data; +  if (!cipher || !recp) +    return GPGME_Invalid_Value; +    err = _gpgme_op_encrypt_init_result (ctx);    if (err)      return err; @@ -54,16 +60,10 @@ encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,    if (err)      return err; -  if (!plain) -    return GPGME_No_Data; -  if (!cipher) -    return GPGME_Invalid_Value; -    if (ctx->passphrase_cb)      { -      err = _gpgme_engine_set_command_handler (ctx->engine, -					       _gpgme_passphrase_command_handler, -					       ctx, NULL); +      err = _gpgme_engine_set_command_handler +	(ctx->engine, _gpgme_passphrase_command_handler, ctx, NULL);        if (err)  	return err;      } @@ -71,8 +71,9 @@ encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,    _gpgme_engine_set_status_handler (ctx->engine,  				    encrypt_sign_status_handler, ctx); -  return _gpgme_engine_op_encrypt_sign (ctx->engine, recp, plain, cipher, -					ctx->use_armor, ctx /* FIXME */); +  return _gpgme_engine_op_encrypt_sign (ctx->engine, recp, flags, plain, +					cipher, ctx->use_armor, +					ctx /* FIXME */);  } @@ -80,10 +81,11 @@ encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_user_id_t recp,     store the resulting ciphertext in CIPHER.  Also sign the ciphertext     with the signers in CTX.  */  gpgme_error_t -gpgme_op_encrypt_sign_start (gpgme_ctx_t ctx, gpgme_user_id_t recp, -			      gpgme_data_t plain, gpgme_data_t cipher) +gpgme_op_encrypt_sign_start (gpgme_ctx_t ctx, gpgme_key_t recp[], +			     gpgme_encrypt_flags_t flags, +			     gpgme_data_t plain, gpgme_data_t cipher)  { -  return encrypt_sign_start (ctx, 0, recp, plain, cipher); +  return encrypt_sign_start (ctx, 0, recp, flags, plain, cipher);  } @@ -91,10 +93,11 @@ gpgme_op_encrypt_sign_start (gpgme_ctx_t ctx, gpgme_user_id_t recp,     store the resulting ciphertext in CIPHER.  Also sign the ciphertext     with the signers in CTX.  */  gpgme_error_t -gpgme_op_encrypt_sign (gpgme_ctx_t ctx, gpgme_user_id_t recp, +gpgme_op_encrypt_sign (gpgme_ctx_t ctx, gpgme_key_t recp[], +		       gpgme_encrypt_flags_t flags,  		       gpgme_data_t plain, gpgme_data_t cipher)  { -  gpgme_error_t err = encrypt_sign_start (ctx, 1, recp, plain, cipher); +  gpgme_error_t err = encrypt_sign_start (ctx, 1, recp, flags, plain, cipher);    if (!err)      err = _gpgme_wait_one (ctx);    return err;  | 
