about summary refs log tree commit diff
path: root/sysdeps/unix/sysv/linux/pathconf.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>2002-10-18 19:03:55 +0000
committerRoland McGrath <roland@gnu.org>2002-10-18 19:03:55 +0000
commit69c708edbc722e0f51fe1f6c50ebf1ca7924eb83 (patch)
tree2e6c82d058c29088dd4fa9b461e25e1c71dbf6a1 /sysdeps/unix/sysv/linux/pathconf.c
parent2e9d4e8c883c1145bca2710e7fba83e9387c664b (diff)
downloadglibc-69c708edbc722e0f51fe1f6c50ebf1ca7924eb83.tar.gz
glibc-69c708edbc722e0f51fe1f6c50ebf1ca7924eb83.tar.xz
glibc-69c708edbc722e0f51fe1f6c50ebf1ca7924eb83.zip
* sysdeps/unix/sysv/linux/pathconf.h (statfs_link_max): Add inline.
	(statfs_filesize_max): New function.
	* sysdeps/unix/sysv/linux/linux_fsinfo.h (JFFS_SUPER_MAGIC,
	JFFS2_SUPER_MAGIC, JFS_SUPER_MAGIC, NTFS_SUPER_MAGIC,
	ROMFS_SUPER_MAGIC, UDF_SUPER_MAGIC): Define.
	* sysdeps/unix/sysv/linux/fpathconf.c (__fpathconf): Use
	statfs_filesize_max.
	* sysdeps/unix/sysv/linux/pathconf.c (__pathconf): Likewise.
	* sysdeps/unix/sysv/linux/alpha/fpathconf.c: Removed.
	* sysdeps/unix/sysv/linux/alpha/pathconf.c: Removed.
Diffstat (limited to 'sysdeps/unix/sysv/linux/pathconf.c')
-rw-r--r--sysdeps/unix/sysv/linux/pathconf.c12
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);
 }