diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux/pathconf.c')
-rw-r--r-- | sysdeps/unix/sysv/linux/pathconf.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/sysdeps/unix/sysv/linux/pathconf.c b/sysdeps/unix/sysv/linux/pathconf.c index 50a4b3ada4..6115335334 100644 --- a/sysdeps/unix/sysv/linux/pathconf.c +++ b/sysdeps/unix/sysv/linux/pathconf.c @@ -30,11 +30,15 @@ static long int posix_pathconf (const char *file, int name); long int __pathconf (const char *file, int name) { - if (name == _PC_LINK_MAX) + struct statfs fsbuf; + + switch (name) { - struct statfs fsbuf; + case _PC_LINK_MAX: return statfs_link_max (__statfs (file, &fsbuf), &fsbuf); + case _PC_FILESIZEBITS: + return statfs_filesize_max (__statfs (file, &fsbuf), &fsbuf); + default: + return posix_pathconf (file, name); } - - return posix_pathconf (file, name); } |