Xcursor: Don't ignore unknown file types
authorDaniel Stone <daniel@fooishbar.org>
Mon, 18 Jun 2012 19:01:05 +0000 (20:01 +0100)
committerKristian Høgsberg <krh@bitplanet.net>
Mon, 18 Jun 2012 19:15:11 +0000 (15:15 -0400)
XFS doesn't return the file type with opendir(), and instead only
returns it when you stat() the file itself.  c66f2602 introduced a check
to ensure that only files and symlinks were loaded, while not checking
for DT_UNKNOWN.  Properly handle DT_UNKNOWN by just proceeding anyway.

Signed-off-by: Daniel Stone <daniel@fooishbar.org>
cursor/xcursor.c

index b3fa271..360f7f3 100644 (file)
@@ -873,7 +873,8 @@ load_all_cursors_from_dir(const char *path, int size,
        ent = readdir(dir);
        for(ent = readdir(dir); ent; ent = readdir(dir)) {
 #ifdef _DIRENT_HAVE_D_TYPE
-               if (ent->d_type != DT_REG && ent->d_type != DT_LNK)
+               if (ent->d_type != DT_UNKNOWN &&
+                   (ent->d_type != DT_REG && ent->d_type != DT_LNK))
                        continue;
 #endif