Diff for /embedaddon/libiconv/srclib/pathmax.h between versions 1.1.1.1 and 1.1.1.3

version 1.1.1.1, 2012/02/21 22:57:48 version 1.1.1.3, 2021/03/17 13:38:46
Line 1 Line 1
 /* Define PATH_MAX somehow.  Requires sys/types.h.  /* Define PATH_MAX somehow.  Requires sys/types.h.
   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009 Free Software Foundation, Inc.   Copyright (C) 1992, 1999, 2001, 2003, 2005, 2009-2019 Free Software
    Foundation, Inc.
   
    This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
Line 12 Line 13
    GNU General Public License for more details.     GNU General Public License for more details.
   
    You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software Foundation,   along with this program; if not, see <https://www.gnu.org/licenses/>.  */
   Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.  */ 
   
 #ifndef _PATHMAX_H  #ifndef _PATHMAX_H
 # define _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.
   
      This file does *not* define PATH_MAX always.  Programs that use this file
      can handle the GNU/Hurd case in several ways:
        - Either with a package-wide handling, or with a per-file handling,
        - Either through a
            #ifdef PATH_MAX
          or through a fallback like
            #ifndef PATH_MAX
            # define PATH_MAX 8192
            #endif
          or through a fallback like
            #ifndef PATH_MAX
            # define PATH_MAX pathconf ("/", _PC_PATH_MAX)
            #endif
    */
   
 # include <unistd.h>  # include <unistd.h>
   
 # include <limits.h>  # include <limits.h>
Line 26 Line 47
 #  define _POSIX_PATH_MAX 256  #  define _POSIX_PATH_MAX 256
 # endif  # endif
   
 # if !defined PATH_MAX && defined _PC_PATH_MAX && defined HAVE_PATHCONF  
 #  define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 \  
                     : pathconf ("/", _PC_PATH_MAX))  
 # endif  
   
 /* Don't include sys/param.h if it already has been.  */  /* Don't include sys/param.h if it already has been.  */
 # if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN  # if defined HAVE_SYS_PARAM_H && !defined PATH_MAX && !defined MAXPATHLEN
 #  include <sys/param.h>  #  include <sys/param.h>
Line 40 Line 56
 #  define PATH_MAX MAXPATHLEN  #  define PATH_MAX MAXPATHLEN
 # endif  # endif
   
# ifndef PATH_MAX# ifdef __hpux
#  define PATH_MAX _POSIX_PATH_MAX/* 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
 
 # if defined _WIN32 && ! defined __CYGWIN__
 /* The page "Naming Files, Paths, and Namespaces" on msdn.microsoft.com,
    section "Maximum Path Length Limitation",
    <https://docs.microsoft.com/en-us/windows/desktop/FileIO/naming-a-file#maximum-path-length-limitation>
    explains that the maximum size of a filename, including the terminating
    NUL byte, is 260 = 3 + 256 + 1.
    This is the same value as
      - FILENAME_MAX in <stdio.h>,
      - _MAX_PATH in <stdlib.h>,
      - MAX_PATH in <windef.h>.
    Undefine the original value, because mingw's <limits.h> gets it wrong.  */
 #  undef PATH_MAX
 #  define PATH_MAX 260
 # endif  # endif
   
 #endif /* _PATHMAX_H */  #endif /* _PATHMAX_H */

Removed from v.1.1.1.1  
changed lines
  Added in v.1.1.1.3


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>