]> git.notmuchmail.org Git - notmuch/blobdiff - notmuch-new.c
Remove some variables which were set but not used.
[notmuch] / notmuch-new.c
index 1473d2e69449c80e596b0440bbd6269c31d8fd61..744f4ca3396310f6c3ed41e814d654cd64f278f8 100644 (file)
@@ -64,10 +64,9 @@ static volatile sig_atomic_t interrupted;
 static void
 handle_sigint (unused (int sig))
 {
-    ssize_t ignored;
     static char msg[] = "Stopping...         \n";
 
-    ignored = write(2, msg, sizeof(msg)-1);
+    write(2, msg, sizeof(msg)-1);
     interrupted = 1;
 }
 
@@ -117,15 +116,19 @@ generic_print_progress (const char *action, const char *object,
     printf ("%s %d ", action, processed);
 
     if (total) {
-       double time_remaining;
-
-       time_remaining = ((total - processed) / rate_overall);
-       printf ("of %d %s (", total, object);
-       notmuch_time_print_formatted_seconds (time_remaining);
-       printf (" remaining).\033[K\r");
+       printf ("of %d %s", total, object);
+       if (processed > 0 && elapsed_overall > 0.5) {
+           double time_remaining = ((total - processed) / rate_overall);
+           printf (" (");
+           notmuch_time_print_formatted_seconds (time_remaining);
+           printf (" remaining)");
+       }
     } else {
-       printf ("%s (%d %s/sec.)\033[K\r", object, (int) rate_overall, object);
+       printf ("%s", object);
+       if (elapsed_overall > 0.5)
+           printf (" (%d %s/sec.)", (int) rate_overall, object);
     }
+    printf (".\033[K\r");
 
     fflush (stdout);
 }
@@ -178,15 +181,20 @@ _entries_resemble_maildir (struct dirent **entries, int count)
  *
  *   o Ask the filesystem for files and directories within 'path'
  *     (via scandir and stored in fs_entries)
- *   o Ask the database for files and directories within 'path'
- *     (db_files and db_subdirs)
  *
  *   o Pass 1: For each directory in fs_entries, recursively call into
  *     this same function.
  *
- *   o Pass 2: If 'fs_mtime' > 'db_mtime', then walk fs_entries
- *     simultaneously with db_files and db_subdirs. Look for one of
- *     three interesting cases:
+ *   o Compare fs_mtime to db_mtime. If they are equivalent, terminate
+ *     the algorithm at this point, (this directory has not been
+ *     updated in the filesystem since the last database scan of PASS
+ *     2).
+ *
+ *   o Ask the database for files and directories within 'path'
+ *     (db_files and db_subdirs)
+ *
+ *   o Pass 2: Walk fs_entries simultaneously with db_files and
+ *     db_subdirs. Look for one of three interesting cases:
  *
  *        1. Regular file in fs_entries and not in db_files
  *            This is a new file to add_message into the database.
@@ -243,15 +251,7 @@ add_files_recursive (notmuch_database_t *notmuch,
     directory = notmuch_database_get_directory (notmuch, path);
     db_mtime = notmuch_directory_get_mtime (directory);
 
-    if (db_mtime == 0) {
-       new_directory = TRUE;
-       db_files = NULL;
-       db_subdirs = NULL;
-    } else {
-       new_directory = FALSE;
-       db_files = notmuch_directory_get_child_files (directory);
-       db_subdirs = notmuch_directory_get_child_directories (directory);
-    }
+    new_directory = db_mtime ? FALSE : TRUE;
 
     /* If the database knows about this directory, then we sort based
      * on strcmp to match the database sorting. Otherwise, we can do
@@ -324,6 +324,14 @@ add_files_recursive (notmuch_database_t *notmuch,
     if (fs_mtime == db_mtime)
        goto DONE;
 
+    /* new_directory means a directory that the database has never
+     * seen before. In that case, we can simply leave db_files and
+     * db_subdirs NULL. */
+    if (!new_directory) {
+       db_files = notmuch_directory_get_child_files (directory);
+       db_subdirs = notmuch_directory_get_child_directories (directory);
+    }
+
     /* Pass 2: Scan for new files, removed files, and removed directories. */
     for (i = 0; i < num_fs_entries; i++)
     {