• Thomas Wouters's avatar
    Define MAXPATHLEN to be at least PATH_MAX, if that's defined. Python uses · 1ddba60e
    Thomas Wouters yazdı
    MAXPATHLEN-sized buffers for various output-buffers (like to realpath()),
    and that's correct on BSD platforms, but not Linux (which uses PATH_MAX, and
    does not define MAXPATHLEN.) Cursory googling suggests Linux is following a
    newer standard than BSD, but in cases like this, who knows. Using the
    greater of PATH_MAX and 1024 as a fallback for MAXPATHLEN seems to be the
    most portable solution.
    1ddba60e
osdefs.h 942 Bytes
#ifndef Py_OSDEFS_H
#define Py_OSDEFS_H
#ifdef __cplusplus
extern "C" {
#endif


/* Operating system dependencies */

/* Mod by chrish: QNX has WATCOM, but isn't DOS */
#if !defined(__QNX__)
#if defined(MS_WINDOWS) || defined(__BORLANDC__) || defined(__WATCOMC__) || defined(__DJGPP__) || defined(PYOS_OS2)
#if defined(PYOS_OS2) && defined(PYCC_GCC)
#define MAXPATHLEN 260
#define SEP '/'
#define ALTSEP '\\'
#else
#define SEP '\\'
#define ALTSEP '/'
#define MAXPATHLEN 256
#endif
#define DELIM ';'
#endif
#endif

#ifdef RISCOS
#define SEP '.'
#define MAXPATHLEN 256
#define DELIM ','
#endif


/* Filename separator */
#ifndef SEP
#define SEP '/'
#endif

/* Max pathname length */
#ifndef MAXPATHLEN
#if defined(PATH_MAX) && PATH_MAX > 1024
#define MAXPATHLEN PATH_MAX
#else
#define MAXPATHLEN 1024
#endif
#endif

/* Search path entry delimiter */
#ifndef DELIM
#define DELIM ':'
#endif

#ifdef __cplusplus
}
#endif
#endif /* !Py_OSDEFS_H */