[gmime] Fixed examples



commit 27c68fa8b20bd6837a1ddb7b6b46fb5124c112cb
Author: Jeffrey Stedfast <jestedfa microsoft com>
Date:   Tue Feb 7 15:50:09 2017 -0500

    Fixed examples

 examples/basic-example.c |   42 +++++++++++-------------------------------
 1 files changed, 11 insertions(+), 31 deletions(-)
---
diff --git a/examples/basic-example.c b/examples/basic-example.c
index 628f951..fa96b74 100644
--- a/examples/basic-example.c
+++ b/examples/basic-example.c
@@ -136,24 +136,6 @@ count_parts_in_message (GMimeMessage *message)
 }
 
 #ifndef G_OS_WIN32
-static GMimeSignatureStatus
-sig_status (GMimeSignatureList *signatures)
-{
-       GMimeSignatureStatus status = GMIME_SIGNATURE_STATUS_GOOD;
-       GMimeSignature *sig;
-       int i;
-       
-       if (!signatures || signatures->array->len == 0)
-               return GMIME_SIGNATURE_STATUS_ERROR;
-       
-       for (i = 0; i < g_mime_signature_list_length (signatures); i++) {
-               sig = g_mime_signature_list_get_signature (signatures, i);
-               status = MAX (status, sig->status);
-       }
-       
-       return status;
-}
-
 static void
 verify_foreach_callback (GMimeObject *parent, GMimeObject *part, gpointer user_data)
 {
@@ -163,8 +145,10 @@ verify_foreach_callback (GMimeObject *parent, GMimeObject *part, gpointer user_d
                /* this is a multipart/signed part, so we can verify the pgp signature */
                GMimeMultipartSigned *mps = (GMimeMultipartSigned *) part;
                GMimeSignatureList *signatures;
+               GMimeSignature *sig;
                GError *err = NULL;
                const char *str;
+               int i;
                
                if (!(signatures = g_mime_multipart_signed_verify (mps, ctx, &err))) {
                        /* an error occured - probably couldn't start gpg? */
@@ -177,19 +161,15 @@ verify_foreach_callback (GMimeObject *parent, GMimeObject *part, gpointer user_d
                        g_error_free (err);
                } else {
                        /* print out validity info - GOOD vs BAD and "why" */
-                       switch (sig_status (signatures)) {
-                       case GMIME_SIGNATURE_STATUS_GOOD:
-                               str = "Good";
-                               break;
-                       case GMIME_SIGNATURE_STATUS_BAD:
-                               str = "Bad";
-                               break;
-                       case GMIME_SIGNATURE_STATUS_ERROR:
-                               str = "Error";
-                               break;
-                       default:
-                               str = NULL;
-                               break;
+                       for (i = 0; i < g_mime_signature_list_length (signatures); i++) {
+                               sig = g_mime_signature_list_get_signature (signatures, i);
+                               
+                               if ((sig->status & GMIME_SIGNATURE_STATUS_RED) != 0)
+                                       str = "Bad";
+                               else if ((sig->status & GMIME_SIGNATURE_STATUS_GREEN) != 0)
+                                       str = "Good";
+                               else
+                                       str = "Error";
                        }
                        
                        g_object_unref (signatures);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]