]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-new.c
python: provide a Database.close function
[notmuch] / notmuch-new.c
index 3512de727734ad48025f3f88972587fed91d838b..8dbebb33e5eb3c6843dd598fb4e09c6e013c0afb 100644 (file)
@@ -67,7 +67,11 @@ handle_sigint (unused (int sig))
 {
     static char msg[] = "Stopping...         \n";
 
-    (void) write(2, msg, sizeof(msg)-1);
+    /* This write is "opportunistic", so it's okay to ignore the
+     * result.  It is not required for correctness, and if it does
+     * fail or produce a short write, we want to get out of the signal
+     * handler as quickly as possible, not retry it. */
+    IGNORE_RESULT (write (2, msg, sizeof(msg)-1));
     interrupted = 1;
 }
 
@@ -555,12 +559,14 @@ add_files_recursive (notmuch_database_t *notmuch,
   DONE:
     if (next)
        talloc_free (next);
-    if (entry)
-       free (entry);
     if (dir)
        closedir (dir);
-    if (fs_entries)
+    if (fs_entries) {
+       for (i = 0; i < num_fs_entries; i++)
+           free (fs_entries[i]);
+
        free (fs_entries);
+    }
     if (db_subdirs)
        notmuch_filenames_destroy (db_subdirs);
     if (db_files)
@@ -700,10 +706,12 @@ count_files (const char *path, int *count)
     }
 
   DONE:
-    if (entry)
-       free (entry);
-    if (fs_entries)
+    if (fs_entries) {
+       for (i = 0; i < num_fs_entries; i++)
+           free (fs_entries[i]);
+
         free (fs_entries);
+    }
 }
 
 static void