X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=notmuch-new.c;h=f0c306d58ba8edf55af84f1dd535781e19fad7d8;hp=432d126286fba8fd070ad75d18850ecca38caef9;hb=59c09623c844f095c14400a9b4199be20e5d712e;hpb=39e81ca431906370d0fee351419e1314e57a7c58 diff --git a/notmuch-new.c b/notmuch-new.c index 432d1262..f0c306d5 100644 --- a/notmuch-new.c +++ b/notmuch-new.c @@ -430,6 +430,30 @@ add_files_recursive (notmuch_database_t *notmuch, next = NULL; } + /* Now that we've walked the whole filesystem list, anything left + * over in the database lists has been deleted. */ + while (notmuch_filenames_has_more (db_files)) + { + char *absolute = talloc_asprintf (state->removed_files, + "%s/%s", path, + notmuch_filenames_get (db_files)); + + _filename_list_add (state->removed_files, absolute); + + notmuch_filenames_advance (db_files); + } + + while (notmuch_filenames_has_more (db_subdirs)) + { + char *absolute = talloc_asprintf (state->removed_directories, + "%s/%s", path, + notmuch_filenames_get (db_subdirs)); + + _filename_list_add (state->removed_directories, absolute); + + notmuch_filenames_advance (db_subdirs); + } + if (! interrupted) { status = notmuch_directory_set_mtime (directory, fs_mtime); if (status && ret == NOTMUCH_STATUS_SUCCESS)