From f6ec7ca78f867c2ae27d0dba154a2395ccf15f52 Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Thu, 11 Nov 2010 04:17:29 -0800 Subject: test: Move corpus emails into maildir directory structure Now that we have maildir synchronization turned on by default, it's advantageous to make all of the tests exercise it as much as possible. --- test/corpus/cur/30:2, | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 75 insertions(+) create mode 100644 test/corpus/cur/30:2, (limited to 'test/corpus/cur/30:2,') diff --git a/test/corpus/cur/30:2, b/test/corpus/cur/30:2, new file mode 100644 index 00000000..a5b94a0a --- /dev/null +++ b/test/corpus/cur/30:2, @@ -0,0 +1,75 @@ +From: "Stewart Smith" +To: notmuch@notmuchmail.org +Date: Wed, 18 Nov 2009 13:22:20 +1100 +Subject: [notmuch] [PATCH] count_files: sort directory in inode order before + statting +Message-ID: <1258510940-7018-1-git-send-email-stewart@flamingspork.com> + +--- + notmuch-new.c | 30 ++++++++++-------------------- + 1 files changed, 10 insertions(+), 20 deletions(-) + +diff --git a/notmuch-new.c b/notmuch-new.c +index 11fad8c..c5f841a 100644 +--- a/notmuch-new.c ++++ b/notmuch-new.c +@@ -308,36 +308,26 @@ add_files (notmuch_database_t *notmuch, + static void + count_files (const char *path, int *count) + { +- DIR *dir; +- struct dirent *e, *entry = NULL; +- int entry_length; +- int err; ++ struct dirent *entry = NULL; + char *next; + struct stat st; ++ struct dirent **namelist = NULL; + +- dir = opendir (path); ++ int n_entries= scandir(path, &namelist, 0, ino_cmp); + +- if (dir == NULL) { ++ if (n_entries == -1) { + fprintf (stderr, "Warning: failed to open directory %s: %s\n", + path, strerror (errno)); + goto DONE; + } + +- entry_length = offsetof (struct dirent, d_name) + +- pathconf (path, _PC_NAME_MAX) + 1; +- entry = malloc (entry_length); ++ int i=0; + + while (!interrupted) { +- err = readdir_r (dir, entry, &e); +- if (err) { +- fprintf (stderr, "Error reading directory: %s\n", +- strerror (errno)); +- free (entry); +- goto DONE; +- } ++ if (i == n_entries) ++ break; + +- if (e == NULL) +- break; ++ entry= namelist[i++]; + + /* Ignore special directories to avoid infinite recursion. + * Also ignore the .notmuch directory. +@@ -376,8 +366,8 @@ count_files (const char *path, int *count) + DONE: + if (entry) + free (entry); +- +- closedir (dir); ++ if (namelist) ++ free (namelist); + } + + int +-- +1.6.3.3 + + -- cgit v1.2.3