[PATCH v3 09/15] gmime-extra: drop compat layer for g_mime_multipart_encrypted_decrypt

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon Oct 9 22:49:10 PDT 2017


In practice, we're going to see this function invoked differently
depending on which gmime we build against.  The compatibility layer
forces our code into the lowest-common-denominator -- unable to make
use of new features even when built against a newer version.

Dropping the compatibility layer paves the way for clearer use of
features from GMime 3.0 in future commits.
---
 mime-node.c        | 4 ++++
 util/gmime-extra.h | 1 -
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/mime-node.c b/mime-node.c
index 07620f43..c3d5cb9b 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -200,7 +200,11 @@ node_decrypt_and_verify (mime_node_t *node, GMimeObject *part,
 
     node->decrypt_attempted = true;
     node->decrypted_child = g_mime_multipart_encrypted_decrypt
+#if (GMIME_MAJOR_VERSION < 3)
 	(encrypteddata, cryptoctx, &decrypt_result, &err);
+#else
+        (encrypteddata, GMIME_DECRYPT_NONE, NULL, &decrypt_result, &err);
+#endif
     if (! node->decrypted_child) {
 	fprintf (stderr, "Failed to decrypt part: %s\n",
 		 err ? err->message : "no error explanation given");
diff --git a/util/gmime-extra.h b/util/gmime-extra.h
index e060bcc2..40bf1454 100644
--- a/util/gmime-extra.h
+++ b/util/gmime-extra.h
@@ -29,7 +29,6 @@ GMimeStream *g_mime_stream_stdout_new(void);
 #define g_mime_init(flags) g_mime_init()
 #define g_mime_message_add_recipient(m,t,n,a) g_mime_message_add_mailbox (m,t,n,a)
 #define g_mime_message_set_subject(m,s) g_mime_message_set_subject(m,s,NULL)
-#define g_mime_multipart_encrypted_decrypt(mpe,ctx,out,err) g_mime_multipart_encrypted_decrypt(mpe, GMIME_DECRYPT_NONE, NULL, out, err)
 #define g_mime_multipart_signed_verify(mps,ctx,err) g_mime_multipart_signed_verify(mps, GMIME_ENCRYPT_NONE, err)
 #define g_mime_object_write_to_stream(o,s) g_mime_object_write_to_stream (o,NULL,s)
 #define g_mime_object_set_header(o,h,v) g_mime_object_set_header (o,h,v,NULL)
-- 
2.14.2



More information about the notmuch mailing list