(Merge 3.3) fileutils.c: use MAXPATHLEN instead of PATH_MAX

PATH_MAX is not declared on IRIX nor Windows.
This commit is contained in:
Victor Stinner 2013-11-15 18:14:33 +01:00
commit c31ebb60f9

View file

@ -869,7 +869,7 @@ int
_Py_wreadlink(const wchar_t *path, wchar_t *buf, size_t bufsiz) _Py_wreadlink(const wchar_t *path, wchar_t *buf, size_t bufsiz)
{ {
char *cpath; char *cpath;
char cbuf[PATH_MAX]; char cbuf[MAXPATHLEN];
wchar_t *wbuf; wchar_t *wbuf;
int res; int res;
size_t r1; size_t r1;
@ -879,11 +879,11 @@ _Py_wreadlink(const wchar_t *path, wchar_t *buf, size_t bufsiz)
errno = EINVAL; errno = EINVAL;
return -1; return -1;
} }
res = (int)readlink(cpath, cbuf, PATH_MAX); res = (int)readlink(cpath, cbuf, Py_ARRAY_LENGTH(cbuf));
PyMem_Free(cpath); PyMem_Free(cpath);
if (res == -1) if (res == -1)
return -1; return -1;
if (res == PATH_MAX) { if (res == Py_ARRAY_LENGTH(cbuf)) {
errno = EINVAL; errno = EINVAL;
return -1; return -1;
} }
@ -915,7 +915,7 @@ _Py_wrealpath(const wchar_t *path,
wchar_t *resolved_path, size_t resolved_path_size) wchar_t *resolved_path, size_t resolved_path_size)
{ {
char *cpath; char *cpath;
char cresolved_path[PATH_MAX]; char cresolved_path[MAXPATHLEN];
wchar_t *wresolved_path; wchar_t *wresolved_path;
char *res; char *res;
size_t r; size_t r;
@ -956,11 +956,11 @@ _Py_wgetcwd(wchar_t *buf, size_t size)
int isize = (int)Py_MIN(size, INT_MAX); int isize = (int)Py_MIN(size, INT_MAX);
return _wgetcwd(buf, isize); return _wgetcwd(buf, isize);
#else #else
char fname[PATH_MAX]; char fname[MAXPATHLEN];
wchar_t *wname; wchar_t *wname;
size_t len; size_t len;
if (getcwd(fname, PATH_MAX) == NULL) if (getcwd(fname, Py_ARRAY_LENGTH(fname)) == NULL)
return NULL; return NULL;
wname = _Py_char2wchar(fname, &len); wname = _Py_char2wchar(fname, &len);
if (wname == NULL) if (wname == NULL)