+static notmuch_status_t
+add_all_files (notmuch_database_t *notmuch,
+ const char *mail_directory,
+ int num_files)
+{
+ add_files_state_t add_files_state;
+ double elapsed;
+ struct timeval tv_now;
+ notmuch_status_t ret = NOTMUCH_STATUS_SUCCESS;
+
+ add_files_state.ignore_read_only_directories = FALSE;
+ add_files_state.saw_read_only_directory = FALSE;
+ add_files_state.total_files = num_files;
+ add_files_state.processed_files = 0;
+ add_files_state.added_messages = 0;
+ add_files_state.callback = NULL;
+ gettimeofday (&add_files_state.tv_start, NULL);
+
+ ret = add_files (notmuch, mail_directory, &add_files_state);
+
+ gettimeofday (&tv_now, NULL);
+ elapsed = notmuch_time_elapsed (add_files_state.tv_start,
+ tv_now);
+ printf ("Processed %d %s in ", add_files_state.processed_files,
+ add_files_state.processed_files == 1 ?
+ "file" : "total files");
+ notmuch_time_print_formatted_seconds (elapsed);
+ if (elapsed > 1) {
+ printf (" (%d files/sec.). \n",
+ (int) (add_files_state.processed_files / elapsed));
+ } else {
+ printf (". \n");
+ }
+ if (add_files_state.added_messages) {
+ printf ("Added %d %s to the database.\n\n",
+ add_files_state.added_messages,
+ add_files_state.added_messages == 1 ?
+ "message" : "unique messages");
+ }
+
+ return ret;
+}
+
+
+/* XXX: This should be merged with the existing add_files function in
+ * add-files.c. */