]> git.notmuchmail.org Git - notmuch/commitdiff
Merge branch to fix broken "notmuch setup" and "notmuch new"
authorCarl Worth <cworth@cworth.org>
Tue, 27 Oct 2009 23:12:04 +0000 (16:12 -0700)
committerCarl Worth <cworth@cworth.org>
Tue, 27 Oct 2009 23:12:08 +0000 (16:12 -0700)
I'm trying to stick to a habit of fixing previously-introduced bugs
on side branches off of the commit that introduced the bug. The
idea here is to make it easy to find the commits to cherry pick
if bisecting in the future lands on one of the broken commits.

notmuch.c

index d716bce37b17e7f7689cb25ca2aa5b9768c5cdfa..a7559fc7a6266a034f6b8580819ff0ca9a2be1e9 100644 (file)
--- a/notmuch.c
+++ b/notmuch.c
@@ -180,7 +180,7 @@ add_files_recursive (notmuch_database_t *notmuch,
     char *next = NULL;
     time_t path_mtime, path_dbtime;
     notmuch_status_t status, ret = NOTMUCH_STATUS_SUCCESS;
-    notmuch_message_t *message, **closure;
+    notmuch_message_t *message = NULL, **closure;
 
     /* If we're told to, we bail out on encountering a read-only
      * directory, (with this being a clear clue from the user to
@@ -266,7 +266,6 @@ add_files_recursive (notmuch_database_t *notmuch,
                        state->added_messages++;
                        if (state->callback)
                            (state->callback) (message);
-                       notmuch_message_destroy (message);
                        break;
                    /* Non-fatal issues (go on to next file) */
                    case NOTMUCH_STATUS_DUPLICATE_MESSAGE_ID:
@@ -292,6 +291,12 @@ add_files_recursive (notmuch_database_t *notmuch,
                        INTERNAL_ERROR ("add_message returned unexpected value: %d",  status);
                        goto DONE;
                }
+
+               if (message) {
+                   notmuch_message_destroy (message);
+                   message = NULL;
+               }
+
                if (state->processed_files % 1000 == 0)
                    add_files_print_progress (state);
            }