On Thu, 17 May 2012, Jameson Graef Rollins <jrollins at finestructure.net> 
wrote:
> This simplifies some more interfaces and gets rid of another #ifdef.

LGTM.

> ---
>  mime-node.c |   23 +++++++++--------------
>  1 file changed, 9 insertions(+), 14 deletions(-)
>
> diff --git a/mime-node.c b/mime-node.c
> index a95bdab..79a3654 100644
> --- a/mime-node.c
> +++ b/mime-node.c
> @@ -33,12 +33,7 @@ typedef struct mime_node_context {
>      GMimeMessage *mime_message;
>  
>      /* Context provided by the caller. */
> -#ifdef GMIME_ATLEAST_26
> -    GMimeCryptoContext *cryptoctx;
> -#else
> -    GMimeCipherContext *cryptoctx;
> -#endif
> -    notmuch_bool_t decrypt;
> +    notmuch_crypto_t crypto;
>  } mime_node_context_t;
>  
>  static int
> @@ -118,8 +113,8 @@ mime_node_open (const void *ctx, notmuch_message_t 
> *message,
>       goto DONE;
>      }
>  
> -    mctx->cryptoctx = cryptoctx;
> -    mctx->decrypt = decrypt;
> +    mctx->crypto.gpgctx = cryptoctx;
> +    mctx->crypto.decrypt = decrypt;
>  
>      /* Create the root node */
>      root->part = GMIME_OBJECT (mctx->mime_message);
> @@ -195,7 +190,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part)
>  
>      /* Handle PGP/MIME parts */
>      if (GMIME_IS_MULTIPART_ENCRYPTED (part)
> -     && node->ctx->cryptoctx && node->ctx->decrypt) {
> +     && node->ctx->crypto.gpgctx && node->ctx->crypto.decrypt) {
>       if (node->nchildren != 2) {
>           /* this violates RFC 3156 section 4, so we won't bother with it. */
>           fprintf (stderr, "Error: %d part(s) for a multipart/encrypted "
> @@ -208,10 +203,10 @@ _mime_node_create (mime_node_t *parent, GMimeObject 
> *part)
>  #ifdef GMIME_ATLEAST_26
>           GMimeDecryptResult *decrypt_result = NULL;
>           node->decrypted_child = g_mime_multipart_encrypted_decrypt
> -             (encrypteddata, node->ctx->cryptoctx, &decrypt_result, &err);
> +             (encrypteddata, node->ctx->crypto.gpgctx, &decrypt_result, 
> &err);
>  #else
>           node->decrypted_child = g_mime_multipart_encrypted_decrypt
> -             (encrypteddata, node->ctx->cryptoctx, &err);
> +             (encrypteddata, node->ctx->crypto.gpgctx, &err);
>  #endif
>           if (node->decrypted_child) {
>               node->decrypt_success = node->verify_attempted = TRUE;
> @@ -229,7 +224,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part)
>                        (err ? err->message : "no error explanation given"));
>           }
>       }
> -    } else if (GMIME_IS_MULTIPART_SIGNED (part) && node->ctx->cryptoctx) {
> +    } else if (GMIME_IS_MULTIPART_SIGNED (part) && node->ctx->crypto.gpgctx) 
> {
>       if (node->nchildren != 2) {
>           /* this violates RFC 3156 section 5, so we won't bother with it. */
>           fprintf (stderr, "Error: %d part(s) for a multipart/signed message "
> @@ -238,7 +233,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part)
>       } else {
>  #ifdef GMIME_ATLEAST_26
>           node->sig_list = g_mime_multipart_signed_verify
> -             (GMIME_MULTIPART_SIGNED (part), node->ctx->cryptoctx, &err);
> +             (GMIME_MULTIPART_SIGNED (part), node->ctx->crypto.gpgctx, &err);
>           node->verify_attempted = TRUE;
>  
>           if (!node->sig_list)
> @@ -254,7 +249,7 @@ _mime_node_create (mime_node_t *parent, GMimeObject *part)
>            * In GMime 2.6, they're both non-const, so we'll be able
>            * to clean up this asymmetry. */
>           GMimeSignatureValidity *sig_validity = 
> g_mime_multipart_signed_verify
> -             (GMIME_MULTIPART_SIGNED (part), node->ctx->cryptoctx, &err);
> +             (GMIME_MULTIPART_SIGNED (part), node->ctx->crypto.gpgctx, &err);
>           node->verify_attempted = TRUE;
>           node->sig_validity = sig_validity;
>           if (sig_validity) {
> -- 
> 1.7.10
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch

Reply via email to