cli/new: abstract special directory check
authorJani Nikula <jani@nikula.org>
Fri, 1 Sep 2017 15:53:07 +0000 (18:53 +0300)
committerDavid Bremner <david@tethera.net>
Wed, 13 Sep 2017 11:49:11 +0000 (08:49 -0300)
Add an abstraction for . and .. directory checks. No functional
changes.

notmuch-new.c

index c6a741fefa0361d85cc244638954e9ebb07d2cb5..faeb8f0a5896a4e23b012c2ba6c0be986b5a01b4 100644 (file)
@@ -234,6 +234,12 @@ _entries_resemble_maildir (const char *path, struct dirent **entries, int count)
     return 0;
 }
 
+static notmuch_bool_t
+_special_directory (const char *entry)
+{
+    return strcmp (entry, ".") == 0 || strcmp (entry, "..") == 0;
+}
+
 /* Test if the file/directory is to be ignored.
  */
 static notmuch_bool_t
@@ -475,8 +481,7 @@ add_files (notmuch_database_t *notmuch,
         * Also ignore the .notmuch directory and any "tmp" directory
         * that appears within a maildir.
         */
-       if (strcmp (entry->d_name, ".") == 0 ||
-           strcmp (entry->d_name, "..") == 0 ||
+       if (_special_directory (entry->d_name) ||
            (is_maildir && strcmp (entry->d_name, "tmp") == 0) ||
            strcmp (entry->d_name, ".notmuch") == 0)
            continue;
@@ -738,8 +743,7 @@ count_files (const char *path, int *count, add_files_state_t *state)
        /* Ignore special directories to avoid infinite recursion.
         * Also ignore the .notmuch directory.
         */
-       if (strcmp (entry->d_name, ".") == 0 ||
-           strcmp (entry->d_name, "..") == 0 ||
+       if (_special_directory (entry->d_name) ||
            strcmp (entry->d_name, ".notmuch") == 0)
            continue;