diff options
Diffstat (limited to '')
-rw-r--r-- | NEWS | 2 | ||||
-rw-r--r-- | src/mapper.c | 7 |
2 files changed, 8 insertions, 1 deletions
@@ -5,7 +5,7 @@ ver 0.16.6 (2010/??/??) - flac, null, wave: fix buffer corruption bug - wave: support packed 24 bit samples * mapper: fix the bogus "not a directory" error message -* mapper: check "x" permission on music directory +* mapper: check "x" and "r" permissions on music directory * log: print reason for failure * event_pipe: fix WIN32 regression * define WINVER in ./configure diff --git a/src/mapper.c b/src/mapper.c index 41ed6550b..3cee41eb3 100644 --- a/src/mapper.c +++ b/src/mapper.c @@ -34,6 +34,7 @@ #include <sys/stat.h> #include <unistd.h> #include <errno.h> +#include <dirent.h> static char *music_dir; static size_t music_dir_length; @@ -76,6 +77,12 @@ check_directory(const char *path) path); g_free(x); #endif + + DIR *dir = opendir(path); + if (dir == NULL && errno == EACCES) + g_warning("No permission to read directory: %s", path); + else + closedir(dir); } static void |