int i, found = 0;
for (i = 0; i < count; i++) {
- if (entries[i]->d_type != DT_DIR)
+ if (entries[i]->d_type != DT_DIR && entries[i]->d_type != DT_UNKNOWN)
continue;
if (strcmp(entries[i]->d_name, "new") == 0 ||
entry = fs_entries[i];
- if (entry->d_type != DT_DIR && entry->d_type != DT_LNK)
+ if (entry->d_type != DT_DIR && entry->d_type != DT_LNK
+ && entry->d_type != DT_UNKNOWN)
continue;
/* Ignore special directories to avoid infinite recursion.
/* If we're looking at a symlink, we only want to add it if it
* links to a regular file, (and not to a directory, say). */
- if (entry->d_type == DT_LNK) {
+ if (entry->d_type == DT_LNK || entry->d_type == DT_UNKNOWN) {
int err;
next = talloc_asprintf (notmuch, "%s/%s", path, entry->d_name);