]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-show.c
Merge branch 'release'
[notmuch] / notmuch-show.c
index dbb1efb97f5954438d6d274f8bc5b7fb9cfb68c9..0200b9c4a4cd28fe7126d83b5b0045c82037e9bb 100644 (file)
@@ -255,7 +255,9 @@ _extract_email_address (const void *ctx, const char *from)
     email = talloc_strdup (ctx, email);
 
   DONE:
-    /* XXX: How to free addresses here? */
+    if (addresses)
+       g_object_unref (addresses);
+
     return email;
    }
 
@@ -469,9 +471,12 @@ show_text_part_content (GMimeObject *part, GMimeStream *stream_out)
        /* This result can be NULL for things like "unknown-8bit".
         * Don't set a NULL filter as that makes GMime print
         * annoying assertion-failure messages on stderr. */
-       if (charset_filter)
+       if (charset_filter) {
            g_mime_stream_filter_add (GMIME_STREAM_FILTER (stream_filter),
                                      charset_filter);
+           g_object_unref (charset_filter);
+       }
+
     }
 
     wrapper = g_mime_part_get_content_object (GMIME_PART (part));
@@ -708,6 +713,9 @@ format_part_end_json (GMimeObject *part)
 static void
 format_part_content_raw (GMimeObject *part)
 {
+    if (! GMIME_IS_PART (part))
+       return;
+
     GMimeStream *stream_stdout;
     GMimeStream *stream_filter = NULL;
     GMimeDataWrapper *wrapper;
@@ -750,8 +758,7 @@ show_message (void *ctx,
     }
 
     if (format->part_content)
-       show_message_body (notmuch_message_get_filename (message),
-                          format, params);
+       show_message_body (message, format, params);
 
     if (params->part <= 0) {
        fputs (format->body_end, stdout);
@@ -858,7 +865,7 @@ do_show_single (void *ctx,
 
        while (!feof (file)) {
            size = fread (buf, 1, sizeof (buf), file);
-           fwrite (buf, size, 1, stdout);
+           (void) fwrite (buf, size, 1, stdout);
        }
 
        fclose (file);
@@ -933,6 +940,8 @@ notmuch_show_command (void *ctx, unused (int argc), unused (char *argv[]))
     params.cryptoctx = NULL;
     params.decrypt = 0;
 
+    argc--; argv++; /* skip subcommand argument */
+
     for (i = 0; i < argc && argv[i][0] == '-'; i++) {
        if (strcmp (argv[i], "--") == 0) {
            i++;