summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2009-09-21 21:17:48 +0000
committerAntoine Pitrou <solipsis@pitrou.net>2009-09-21 21:17:48 +0000
commit2a46658beef7de998dfcf85ca5e9ddf97f63a8bf (patch)
tree679ea91e03e3be7d7c03ae94b37dd1f1e84eff7e
parent40ee861c0acea30e27f06f088b0713b617a4291c (diff)
downloadcpython-git-2a46658beef7de998dfcf85ca5e9ddf97f63a8bf.tar.gz
Issue #6236, #6348: Fix various failures in the io module under AIX
and other platforms, when using a non-gcc compiler. Patch by egreen. In addition, I made explicit the signedness of all bitfields in the IO library.
-rw-r--r--Misc/NEWS3
-rw-r--r--Modules/_io/fileio.c8
-rw-r--r--Modules/_io/textio.c6
3 files changed, 10 insertions, 7 deletions
diff --git a/Misc/NEWS b/Misc/NEWS
index 1cc8f741b3..89cbf3ca46 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -379,6 +379,9 @@ Core and Builtins
Library
-------
+- Issue #6236, #6348: Fix various failures in the `io` module under AIX
+ and other platforms, when using a non-gcc compiler. Patch by egreen.
+
- Issue #6954: Fixed crash when using DISTUTILS_DEBUG flag in Distutils.
- Issue #6851: Fix urllib.urlopen crash on secondairy threads on OSX 10.6
diff --git a/Modules/_io/fileio.c b/Modules/_io/fileio.c
index 989c86641d..e98de9e69f 100644
--- a/Modules/_io/fileio.c
+++ b/Modules/_io/fileio.c
@@ -45,10 +45,10 @@
typedef struct {
PyObject_HEAD
int fd;
- unsigned readable : 1;
- unsigned writable : 1;
- int seekable : 2; /* -1 means unknown */
- int closefd : 1;
+ unsigned int readable : 1;
+ unsigned int writable : 1;
+ signed int seekable : 2; /* -1 means unknown */
+ unsigned int closefd : 1;
PyObject *weakreflist;
PyObject *dict;
} fileio;
diff --git a/Modules/_io/textio.c b/Modules/_io/textio.c
index 3b627f2245..2f99a606b2 100644
--- a/Modules/_io/textio.c
+++ b/Modules/_io/textio.c
@@ -190,9 +190,9 @@ typedef struct {
PyObject_HEAD
PyObject *decoder;
PyObject *errors;
- int pendingcr:1;
- int translate:1;
- unsigned int seennl:3;
+ signed int pendingcr: 1;
+ signed int translate: 1;
+ unsigned int seennl: 3;
} nldecoder_object;
static int