X-Git-Url: https://git.notmuchmail.org/git?p=notmuch;a=blobdiff_plain;f=test%2Fcorpus%2Fcur%2F30%3A2%2C;fp=test%2Fcorpus%2Fcur%2F30%3A2%2C;h=0000000000000000000000000000000000000000;hp=a5b94a0af87c21db445335d61083932882cf3556;hb=971cdc72cdb80f060193bc0914dc9badcc29696b;hpb=89c8d279480aa618bed5ef074f9166dbf818e6eb diff --git a/test/corpus/cur/30:2, b/test/corpus/cur/30:2, deleted file mode 100644 index a5b94a0a..00000000 --- a/test/corpus/cur/30:2, +++ /dev/null @@ -1,75 +0,0 @@ -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 - -