changeset 15305:78615c8f44e6

pathmax: Ensure correct value for PATH_MAX on HP-UX. * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
author Bruno Haible <bruno@clisp.org>
date Tue, 21 Jun 2011 00:18:27 +0200
parents 578f64214a48
children 5cac42931c47
files ChangeLog lib/pathmax.h
diffstat 2 files changed, 20 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-06-20  Bruno Haible  <bruno@clisp.org>
+
+	pathmax: Ensure correct value for PATH_MAX on HP-UX.
+	* lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
+
 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
 
 	alloca: port to compilers that can optimize like GCC 4.6.0
--- a/lib/pathmax.h
+++ b/lib/pathmax.h
@@ -19,6 +19,12 @@
 #ifndef _PATHMAX_H
 # define _PATHMAX_H
 
+/* POSIX:2008 defines PATH_MAX to be the maximum number of bytes in a filename,
+   including the terminating NUL byte.
+   <http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/limits.h.html>
+   PATH_MAX is not defined on systems which have no limit on filename length,
+   such as GNU/Hurd.  */
+
 # include <unistd.h>
 
 # include <limits.h>
@@ -45,4 +51,13 @@
 #  define PATH_MAX _POSIX_PATH_MAX
 # endif
 
+# ifdef __hpux
+/* On HP-UX, PATH_MAX designates the maximum number of bytes in a filename,
+   *not* including the terminating NUL byte, and is set to 1023.
+   Additionally, when _XOPEN_SOURCE is defined to 500 or more, PATH_MAX is
+   not defined at all any more.  */
+#  undef PATH_MAX
+#  define PATH_MAX 1024
+# endif
+
 #endif /* _PATHMAX_H */