[PATCH 3/6] cli/new: check for special directories earlier in pass 1
Jani Nikula
jani at nikula.org
Fri Sep 1 08:53:08 PDT 2017
Avoid passing . and .. to ignore check. We don't need to check their
dirent type either.
---
notmuch-new.c | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/notmuch-new.c b/notmuch-new.c
index faeb8f0a5896..378bf4c2a15a 100644
--- a/notmuch-new.c
+++ b/notmuch-new.c
@@ -452,6 +452,10 @@ add_files (notmuch_database_t *notmuch,
for (i = 0; i < num_fs_entries && ! interrupted; i++) {
entry = fs_entries[i];
+ /* Ignore special directories to avoid infinite recursion. */
+ if (_special_directory (entry->d_name))
+ continue;
+
/* Ignore any files/directories the user has configured to
* ignore. We do this before dirent_type both for performance
* and because we don't care if dirent_type fails on entries
@@ -477,12 +481,10 @@ add_files (notmuch_database_t *notmuch,
continue;
}
- /* Ignore special directories to avoid infinite recursion.
- * Also ignore the .notmuch directory and any "tmp" directory
+ /* Ignore the .notmuch directory and any "tmp" directory
* that appears within a maildir.
*/
- if (_special_directory (entry->d_name) ||
- (is_maildir && strcmp (entry->d_name, "tmp") == 0) ||
+ if ((is_maildir && strcmp (entry->d_name, "tmp") == 0) ||
strcmp (entry->d_name, ".notmuch") == 0)
continue;
--
2.11.0
More information about the notmuch
mailing list