X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=util%2Fgmime-extra.c;h=04d8ed3d70a83b4b1bb7bab029f060227d2e3b70;hp=b515d12644231ecdc7cb9fdc8ff745e7c8cfef40;hb=HEAD;hpb=1a8916786f9464af6c8a05713a4c987a6b097a12 diff --git a/util/gmime-extra.c b/util/gmime-extra.c index b515d126..192cb078 100644 --- a/util/gmime-extra.c +++ b/util/gmime-extra.c @@ -29,6 +29,8 @@ _gzfile_maybe_filter (GMimeStream *file_stream) /* ignore filter id */ (void) g_mime_stream_filter_add ((GMimeStreamFilter *) gzstream, gzfilter); + g_object_unref (gzfilter); + g_object_unref (file_stream); return gzstream; } else { return file_stream; @@ -99,11 +101,27 @@ g_mime_certificate_get_valid_userid (GMimeCertificate *cert) if (uid == NULL) return uid; GMimeValidity validity = g_mime_certificate_get_id_validity (cert); + if (validity == GMIME_VALIDITY_FULL || validity == GMIME_VALIDITY_ULTIMATE) return uid; return NULL; } +const char * +g_mime_certificate_get_valid_email (GMimeCertificate *cert) +{ + /* output e-mail address only if validity is FULL or ULTIMATE. */ + const char *email = g_mime_certificate_get_email(cert); + + if (email == NULL) + return email; + GMimeValidity validity = g_mime_certificate_get_id_validity (cert); + + if (validity == GMIME_VALIDITY_FULL || validity == GMIME_VALIDITY_ULTIMATE) + return email; + return NULL; +} + const char * g_mime_certificate_get_fpr16 (GMimeCertificate *cert) {