Sun May 5 03:10:44 1996 Ulrich Drepper <drepper@cygnus.com>
authorroland <roland>
Wed, 8 May 1996 02:07:07 +0000 (02:07 +0000)
committerroland <roland>
Wed, 8 May 1996 02:07:07 +0000 (02:07 +0000)
* sysdeps/posix/fpathconf.c (__fpathconf): Get information
for _PC_PATH_MAX from fstatfs function if available.

sysdeps/posix/fpathconf.c

index 5c91c4a..649a2a4 100644 (file)
@@ -21,6 +21,7 @@ Cambridge, MA 02139, USA.  */
 #include <stddef.h>
 #include <unistd.h>
 #include <limits.h>
+#include <sys/statfs.h>
 
 
 /* Get file-specific information about descriptor FD.  */
@@ -73,7 +74,14 @@ DEFUN(__fpathconf, (fd, name), int fd AND int name)
 
     case _PC_PATH_MAX:
 #ifdef PATH_MAX
-      return PATH_MAX;
+      {
+       struct statfs buf;
+
+       if (__fstatfs (fd, &buf) < 0)
+         return errno == ENOSYS ? PATH_MAX : -1;
+       else
+         return buf.f_namelen;
+      }
 #else
       errno = ENOSYS;
       return -1;