mirror of
https://github.com/python/cpython.git
synced 2025-07-31 23:23:11 +00:00
Define MAXPATHLEN to be at least PATH_MAX, if that's defined. Python uses
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.
This commit is contained in:
parent
0452049b6f
commit
1ddba60e3d
3 changed files with 12 additions and 0 deletions
|
@ -37,8 +37,12 @@ extern "C" {
|
||||||
|
|
||||||
/* Max pathname length */
|
/* Max pathname length */
|
||||||
#ifndef MAXPATHLEN
|
#ifndef MAXPATHLEN
|
||||||
|
#if defined(PATH_MAX) && PATH_MAX > 1024
|
||||||
|
#define MAXPATHLEN PATH_MAX
|
||||||
|
#else
|
||||||
#define MAXPATHLEN 1024
|
#define MAXPATHLEN 1024
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Search path entry delimiter */
|
/* Search path entry delimiter */
|
||||||
#ifndef DELIM
|
#ifndef DELIM
|
||||||
|
|
|
@ -262,7 +262,11 @@ extern int lstat(const char *, struct stat *);
|
||||||
#endif /* OS2 */
|
#endif /* OS2 */
|
||||||
|
|
||||||
#ifndef MAXPATHLEN
|
#ifndef MAXPATHLEN
|
||||||
|
#if defined(PATH_MAX) && PATH_MAX > 1024
|
||||||
|
#define MAXPATHLEN PATH_MAX
|
||||||
|
#else
|
||||||
#define MAXPATHLEN 1024
|
#define MAXPATHLEN 1024
|
||||||
|
#endif
|
||||||
#endif /* MAXPATHLEN */
|
#endif /* MAXPATHLEN */
|
||||||
|
|
||||||
#ifdef UNION_WAIT
|
#ifdef UNION_WAIT
|
||||||
|
|
|
@ -14,8 +14,12 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef MAXPATHLEN
|
#ifndef MAXPATHLEN
|
||||||
|
#if defined(PATH_MAX) && PATH_MAX > 1024
|
||||||
|
#define MAXPATHLEN PATH_MAX
|
||||||
|
#else
|
||||||
#define MAXPATHLEN 1024
|
#define MAXPATHLEN 1024
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
extern char *getwd(char *);
|
extern char *getwd(char *);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue