* [PATCH] cli: mime node: fix compiler warning when building against gmime 2.4
@ 2013-04-06 11:47 Jani Nikula
2013-04-07 19:07 ` Tomi Ollila
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Jani Nikula @ 2013-04-06 11:47 UTC (permalink / raw)
To: notmuch, Mark Walters
commit d487ef9e58bcd193118f19f771d5ef3984616be5
Author: Jani Nikula <jani@nikula.org>
Date: Sat Mar 30 15:53:16 2013 +0200
cli: mime node: abstract decryption and signature verification
introduced a compiler warning, reported by Mark Walters, when building
against gmime 2.4:
mime-node.c:224:9: warning: assignment discards ‘const’ qualifier from
pointer target type [enabled by default]
Pass the non-const signature validity to the destructor to fix this.
---
Not even compile tested as I don't have gmime 2.4 on any
systems... Mark, please build and run the tests with this. Thanks.
---
mime-node.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/mime-node.c b/mime-node.c
index 851f963..fd9e4a4 100644
--- a/mime-node.c
+++ b/mime-node.c
@@ -217,11 +217,12 @@ _signature_validity_free (GMimeSignatureValidity **proxy)
/* Set up signature validity destructor (GMime 2.4) */
static void
-set_signature_validity_destructor (mime_node_t *node)
+set_signature_validity_destructor (mime_node_t *node,
+ GMimeSignatureValidity *sig_validity)
{
GMimeSignatureValidity **proxy = talloc (node, GMimeSignatureValidity *);
if (proxy) {
- *proxy = node->sig_validity;
+ *proxy = sig_validity;
talloc_set_destructor (proxy, _signature_validity_free);
}
}
@@ -232,12 +233,14 @@ node_verify (mime_node_t *node, GMimeObject *part,
notmuch_crypto_context_t *cryptoctx)
{
GError *err = NULL;
+ GMimeSignatureValidity *sig_validity;
node->verify_attempted = TRUE;
- node->sig_validity = g_mime_multipart_signed_verify
+ sig_validity = g_mime_multipart_signed_verify
(GMIME_MULTIPART_SIGNED (part), cryptoctx, &err);
- if (node->sig_validity) {
- set_signature_validity_destructor (node);
+ node->sig_validity = sig_validity;
+ if (sig_validity) {
+ set_signature_validity_destructor (node, sig_validity);
} else {
fprintf (stderr, "Failed to verify signed part: %s\n",
err ? err->message : "no error explanation given");
--
1.7.10.4
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] cli: mime node: fix compiler warning when building against gmime 2.4
2013-04-06 11:47 [PATCH] cli: mime node: fix compiler warning when building against gmime 2.4 Jani Nikula
@ 2013-04-07 19:07 ` Tomi Ollila
2013-04-12 6:12 ` Mark Walters
2013-04-14 23:00 ` David Bremner
2 siblings, 0 replies; 4+ messages in thread
From: Tomi Ollila @ 2013-04-07 19:07 UTC (permalink / raw)
To: Jani Nikula, notmuch, Mark Walters
On Sat, Apr 06 2013, Jani Nikula <jani@nikula.org> wrote:
> commit d487ef9e58bcd193118f19f771d5ef3984616be5
> Author: Jani Nikula <jani@nikula.org>
> Date: Sat Mar 30 15:53:16 2013 +0200
>
> cli: mime node: abstract decryption and signature verification
>
> introduced a compiler warning, reported by Mark Walters, when building
> against gmime 2.4:
>
> mime-node.c:224:9: warning: assignment discards ‘const’ qualifier from
> pointer target type [enabled by default]
>
> Pass the non-const signature validity to the destructor to fix this.
>
> ---
>
> Not even compile tested as I don't have gmime 2.4 on any
> systems... Mark, please build and run the tests with this. Thanks.
I can confirm this patch removes the compilation warning. I looked the
impmementation though the glasses which say gmime-2.4 support is going
to be deprecated in somewhat near future and I think it is good.
Tomi
> ---
> mime-node.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/mime-node.c b/mime-node.c
> index 851f963..fd9e4a4 100644
> --- a/mime-node.c
> +++ b/mime-node.c
> @@ -217,11 +217,12 @@ _signature_validity_free (GMimeSignatureValidity **proxy)
>
> /* Set up signature validity destructor (GMime 2.4) */
> static void
> -set_signature_validity_destructor (mime_node_t *node)
> +set_signature_validity_destructor (mime_node_t *node,
> + GMimeSignatureValidity *sig_validity)
> {
> GMimeSignatureValidity **proxy = talloc (node, GMimeSignatureValidity *);
> if (proxy) {
> - *proxy = node->sig_validity;
> + *proxy = sig_validity;
> talloc_set_destructor (proxy, _signature_validity_free);
> }
> }
> @@ -232,12 +233,14 @@ node_verify (mime_node_t *node, GMimeObject *part,
> notmuch_crypto_context_t *cryptoctx)
> {
> GError *err = NULL;
> + GMimeSignatureValidity *sig_validity;
>
> node->verify_attempted = TRUE;
> - node->sig_validity = g_mime_multipart_signed_verify
> + sig_validity = g_mime_multipart_signed_verify
> (GMIME_MULTIPART_SIGNED (part), cryptoctx, &err);
> - if (node->sig_validity) {
> - set_signature_validity_destructor (node);
> + node->sig_validity = sig_validity;
> + if (sig_validity) {
> + set_signature_validity_destructor (node, sig_validity);
> } else {
> fprintf (stderr, "Failed to verify signed part: %s\n",
> err ? err->message : "no error explanation given");
> --
> 1.7.10.4
>
> _______________________________________________
> notmuch mailing list
> notmuch@notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] cli: mime node: fix compiler warning when building against gmime 2.4
2013-04-06 11:47 [PATCH] cli: mime node: fix compiler warning when building against gmime 2.4 Jani Nikula
2013-04-07 19:07 ` Tomi Ollila
@ 2013-04-12 6:12 ` Mark Walters
2013-04-14 23:00 ` David Bremner
2 siblings, 0 replies; 4+ messages in thread
From: Mark Walters @ 2013-04-12 6:12 UTC (permalink / raw)
To: Jani Nikula, notmuch
On Sat, 06 Apr 2013, Jani Nikula <jani@nikula.org> wrote:
> commit d487ef9e58bcd193118f19f771d5ef3984616be5
> Author: Jani Nikula <jani@nikula.org>
> Date: Sat Mar 30 15:53:16 2013 +0200
>
> cli: mime node: abstract decryption and signature verification
>
> introduced a compiler warning, reported by Mark Walters, when building
> against gmime 2.4:
>
> mime-node.c:224:9: warning: assignment discards ‘const’ qualifier from
> pointer target type [enabled by default]
>
> Pass the non-const signature validity to the destructor to fix this.
>
> ---
>
> Not even compile tested as I don't have gmime 2.4 on any
> systems... Mark, please build and run the tests with this. Thanks.
This fixes the build warning and all tests pass. Thanks!
Mark
> ---
> mime-node.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/mime-node.c b/mime-node.c
> index 851f963..fd9e4a4 100644
> --- a/mime-node.c
> +++ b/mime-node.c
> @@ -217,11 +217,12 @@ _signature_validity_free (GMimeSignatureValidity **proxy)
>
> /* Set up signature validity destructor (GMime 2.4) */
> static void
> -set_signature_validity_destructor (mime_node_t *node)
> +set_signature_validity_destructor (mime_node_t *node,
> + GMimeSignatureValidity *sig_validity)
> {
> GMimeSignatureValidity **proxy = talloc (node, GMimeSignatureValidity *);
> if (proxy) {
> - *proxy = node->sig_validity;
> + *proxy = sig_validity;
> talloc_set_destructor (proxy, _signature_validity_free);
> }
> }
> @@ -232,12 +233,14 @@ node_verify (mime_node_t *node, GMimeObject *part,
> notmuch_crypto_context_t *cryptoctx)
> {
> GError *err = NULL;
> + GMimeSignatureValidity *sig_validity;
>
> node->verify_attempted = TRUE;
> - node->sig_validity = g_mime_multipart_signed_verify
> + sig_validity = g_mime_multipart_signed_verify
> (GMIME_MULTIPART_SIGNED (part), cryptoctx, &err);
> - if (node->sig_validity) {
> - set_signature_validity_destructor (node);
> + node->sig_validity = sig_validity;
> + if (sig_validity) {
> + set_signature_validity_destructor (node, sig_validity);
> } else {
> fprintf (stderr, "Failed to verify signed part: %s\n",
> err ? err->message : "no error explanation given");
> --
> 1.7.10.4
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] cli: mime node: fix compiler warning when building against gmime 2.4
2013-04-06 11:47 [PATCH] cli: mime node: fix compiler warning when building against gmime 2.4 Jani Nikula
2013-04-07 19:07 ` Tomi Ollila
2013-04-12 6:12 ` Mark Walters
@ 2013-04-14 23:00 ` David Bremner
2 siblings, 0 replies; 4+ messages in thread
From: David Bremner @ 2013-04-14 23:00 UTC (permalink / raw)
To: Jani Nikula, notmuch, Mark Walters
Jani Nikula <jani@nikula.org> writes:
[...]
> mime-node.c:224:9: warning: assignment discards ‘const’ qualifier from
> pointer target type [enabled by default]
>
> Pass the non-const signature validity to the destructor to fix this.
pushed,
d
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-04-14 23:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-06 11:47 [PATCH] cli: mime node: fix compiler warning when building against gmime 2.4 Jani Nikula
2013-04-07 19:07 ` Tomi Ollila
2013-04-12 6:12 ` Mark Walters
2013-04-14 23:00 ` David Bremner
Code repositories for project(s) associated with this public inbox
https://yhetil.org/notmuch.git/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).