#include <unistd.h>
+typedef struct {
+ int output_is_a_tty;
+ int verbose;
+
+ int total_files;
+ int processed_files;
+ int added_messages;
+ struct timeval tv_start;
+} add_files_state_t;
+
static volatile sig_atomic_t do_add_files_print_progress = 0;
static void
notmuch_message_t *message = NULL;
struct dirent **namelist = NULL;
int num_entries;
+ notmuch_directory_t *directory;
path_mtime = st->st_mtime;
- path_dbtime = notmuch_database_get_timestamp (notmuch, path);
+ directory = notmuch_database_get_directory (notmuch, path);
+ path_dbtime = notmuch_directory_get_mtime (directory);
+
num_entries = scandir (path, &namelist, 0, ino_cmp);
if (num_entries == -1) {
next = NULL;
}
- status = notmuch_database_set_timestamp (notmuch, path, path_mtime);
- if (status && ret == NOTMUCH_STATUS_SUCCESS)
- ret = status;
+ if (! interrupted) {
+ status = notmuch_directory_set_mtime (directory, path_mtime);
+ if (status && ret == NOTMUCH_STATUS_SUCCESS)
+ ret = status;
+ }
DONE:
if (next)
/* This is the top-level entry point for add_files. It does a couple
* of error checks, sets up the progress-printing timer and then calls
* into the recursive function. */
-notmuch_status_t
+static notmuch_status_t
add_files (notmuch_database_t *notmuch,
const char *path,
add_files_state_t *state)