diff options
author | Evgeny Vereshchagin <evvers@ya.ru> | 2016-04-04 14:07:56 +0300 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2016-04-04 13:07:56 +0200 |
commit | 331fb4ca51cc88a2822bb213c3fc1756b886ac15 (patch) | |
tree | c659478c94f33ff3796e128b901da448d31a4cc1 /src | |
parent | 7e371b64fe6995e8f12b3f082c54a6d0d46de512 (diff) |
basic: fallback to fstatat if entry->d_type is DT_UNKNOWN
* tests-functions: improve FSTYPE-support
make clean setup FSTYPE=reiserfs is working fine now :)
* basic: fallback to fstatat if entry->d_type is DT_UNKNOWN
Fixes localectl on reiserfs:
-bash-4.3# mkdir -p /usr/lib/locale
-bash-4.3# stat -f /usr/lib/locale/
File: "/usr/lib/locale/"
ID: bdb0322715b5366e Namelen: 255 Type: reiserfs
Block size: 4096
Blocks: Total: 99835 Free: 60262 Available: 60262
Inodes: Total: 0 Free: 0
-bash-4.3# mkdir /usr/lib/locale/HeyHo
-bash-4.3# localectl list-locales --no-pager
-bash-4.3# mount -t tmpfs tmpfs /usr/lib/locale
-bash-4.3# mkdir /usr/lib/locale/HeyHo
-bash-4.3# localectl list-locales --no-pager
HeyHo
Diffstat (limited to 'src')
-rw-r--r-- | src/basic/locale-util.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/basic/locale-util.c b/src/basic/locale-util.c index cda6b2895d..eaad25e65b 100644 --- a/src/basic/locale-util.c +++ b/src/basic/locale-util.c @@ -153,6 +153,8 @@ static int add_locales_from_libdir (Set *locales) { FOREACH_DIRENT(entry, dir, return -errno) { char *z; + dirent_ensure_type(dir, entry); + if (entry->d_type != DT_DIR) continue; |