#15965: Explicitly cast AT_FDCWD as (int).

Required on Solaris 10 (which defines AT_FDCWD as 0xffd19553),
harmless on other platforms.
This commit is contained in:
Trent Nelson 2012-09-18 21:50:06 -04:00
parent 1da769a302
commit 9a46105a89
2 changed files with 11 additions and 1 deletions

View File

@ -10,6 +10,9 @@ What's New in Python 3.3.1
Core and Builtins
-----------------
- Issue #15965: Explicitly cast AT_FDCWD as (int). Required on Solaris 10
(which defines AT_FDCWD as 0xffd19553), harmless on other platforms.
- Issue #15926: Fix crash after multiple reinitializations of the interpreter.
- Issue #15895: Fix FILE pointer leak in one error branch of

View File

@ -414,7 +414,14 @@ win32_warn_bytes_api()
#ifdef AT_FDCWD
#define DEFAULT_DIR_FD AT_FDCWD
/*
* Why the (int) cast? Solaris 10 defines AT_FDCWD as 0xffd19553 (-3041965);
* without the int cast, the value gets interpreted as uint (4291925331),
* which doesn't play nicely with all the initializer lines in this file that
* look like this:
* int dir_fd = DEFAULT_DIR_FD;
*/
#define DEFAULT_DIR_FD (int)AT_FDCWD
#else
#define DEFAULT_DIR_FD (-100)
#endif