Changeset View
Changeset View
Standalone View
Standalone View
src/encrypt-sign.c
Context not available. | |||||
return err; | return err; | ||||
} | } | ||||
static gpgme_error_t | |||||
encrypt_sym_status_handler (void *priv, gpgme_status_code_t code, char *args) | |||||
{ | |||||
gpgme_error_t err; | |||||
err = _gpgme_progress_status_handler (priv, code, args); | |||||
if (!err) | |||||
err = _gpgme_passphrase_status_handler (priv, code, args); | |||||
return err; | |||||
} | |||||
static gpgme_error_t | static gpgme_error_t | ||||
encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_key_t recp[], | encrypt_sign_start (gpgme_ctx_t ctx, int synchronous, gpgme_key_t recp[], | ||||
Context not available. | |||||
gpgme_data_t plain, gpgme_data_t cipher) | gpgme_data_t plain, gpgme_data_t cipher) | ||||
{ | { | ||||
gpgme_error_t err; | gpgme_error_t err; | ||||
int symmetric = 0; | |||||
err = _gpgme_op_reset (ctx, synchronous); | err = _gpgme_op_reset (ctx, synchronous); | ||||
if (err) | if (err) | ||||
return err; | return err; | ||||
if (!recp) | |||||
symmetric = 1; | |||||
if (!plain) | if (!plain) | ||||
return gpg_error (GPG_ERR_NO_DATA); | return gpg_error (GPG_ERR_NO_DATA); | ||||
if (!cipher || !recp) | if (!cipher) | ||||
return gpg_error (GPG_ERR_INV_VALUE); | |||||
if (recp && ! *recp) | |||||
return gpg_error (GPG_ERR_INV_VALUE); | return gpg_error (GPG_ERR_INV_VALUE); | ||||
err = _gpgme_op_encrypt_init_result (ctx); | err = _gpgme_op_encrypt_init_result (ctx); | ||||
Context not available. | |||||
} | } | ||||
_gpgme_engine_set_status_handler (ctx->engine, | _gpgme_engine_set_status_handler (ctx->engine, | ||||
encrypt_sign_status_handler, ctx); | symmetric | ||||
? encrypt_sym_status_handler | |||||
: encrypt_sign_status_handler, | |||||
ctx); | |||||
return _gpgme_engine_op_encrypt_sign (ctx->engine, recp, flags, plain, | return _gpgme_engine_op_encrypt_sign (ctx->engine, recp, flags, plain, | ||||
cipher, ctx->use_armor, | cipher, ctx->use_armor, | ||||
ctx /* FIXME */); | ctx /* FIXME */); | ||||
Context not available. |