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