Message216435
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. |
|
Date |
User |
Action |
Args |
2014-04-16 05:53:51 | vstinner | set | recipients:
+ vstinner, loewis, brett.cannon, ncoghlan, pitrou, larry, eric.smith, benjamin.peterson, ezio.melotti, Matt.Mackall, josh.r |
2014-04-16 05:53:51 | vstinner | set | messageid: <1397627631.07.0.606788436671.issue21199@psf.upfronthosting.co.za> |
2014-04-16 05:53:51 | vstinner | link | issue21199 messages |
2014-04-16 05:53:50 | vstinner | create | |
|