static void
handle_sigint (unused (int sig))
{
+ ssize_t ignored;
static char msg[] = "Stopping... \n";
- write(2, msg, sizeof(msg)-1);
+
+ ignored = write(2, msg, sizeof(msg)-1);
interrupted = 1;
}
*
* Return 1 if the directory looks like a Maildir and 0 otherwise.
*/
-static int is_maildir (struct dirent **entries, int count)
+static int
+is_maildir (struct dirent **entries, int count)
{
int i, found = 0;
strcmp(entries[i]->d_name, "tmp") == 0)
{
found++;
- if (found == 3) return 1;
+ if (found == 3)
+ return 1;
}
}
next = talloc_asprintf (notmuch, "%s/%s", path, entry->d_name);
if (stat (next, st)) {
+ int err = errno;
+
+ switch (err) {
+ case ENOENT:
+ /* The file was removed between scandir and now... */
+ case EPERM:
+ case EACCES:
+ /* We can't read this file so don't add it to the cache. */
+ continue;
+ }
+
fprintf (stderr, "Error reading %s: %s\n",
next, strerror (errno));
ret = NOTMUCH_STATUS_FILE_ERROR;
- continue;
+ goto DONE;
}
if (S_ISREG (st->st_mode)) {
if (interrupted)
return 1;
- printf ("Found %d total files. \n", count);
+ printf ("Found %d total files (that's not much mail).\n", count);
notmuch = notmuch_database_create (db_path);
add_files_state.ignore_read_only_directories = FALSE;
add_files_state.total_files = count;
}
}
if (add_files_state.added_messages) {
- printf ("Added %d new %s to the database (not much, really).\n",
+ printf ("Added %d new %s to the database.\n",
add_files_state.added_messages,
add_files_state.added_messages == 1 ?
"message" : "messages");
} else {
- printf ("No new mail---and that's not much.\n");
+ printf ("No new mail.\n");
}
if (elapsed > 1 && ! add_files_state.saw_read_only_directory) {