STINNER Victor added the comment: On Windows, the type of the size parameter of read() is an unsigned int, not long nor size_t: http://msdn.microsoft.com/en-us/library/1570wh78.aspx
FileIO.read() of Python 3 uses a size_t type but also: #ifdef MS_WINDOWS if (size > INT_MAX) size = INT_MAX; #endif ... #ifdef MS_WINDOWS n = read(self->fd, ptr, (int)size); #else n = read(self->fd, ptr, size); #endif Using a size_t to parse the Python parameter would avoid an OverflowError and the function would be more portable. But it would not permit to read more than 2 GB at once. ---------- nosy: +haypo _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue21199> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com