[issue11395] print(s) fails on Windows with long strings
Amaury Forgeot d'Arc
report at bugs.python.org
Fri Mar 4 13:31:41 CET 2011
Amaury Forgeot d'Arc <amauryfa at gmail.com> added the comment:
It may be a windows bug, but it's also an a python regression!
A fix is to limit the number of chars:
===================================================================
--- D:/py3k/Modules/_io/fileio.c (revision 87824)
+++ D:/py3k/Modules/_io/fileio.c (copie de travail)
@@ -712,6 +712,8 @@
errno = 0;
len = pbuf.len;
#if defined(MS_WIN64) || defined(MS_WINDOWS)
+ if (len > 32000 && isatty(self->fd))
+ len = 32000;
if (len > INT_MAX)
len = INT_MAX;
n = write(self->fd, pbuf.buf, (int)len);
On my system, errors start at ~52200 (why?). I hope that 32K is low enough... MSVCRT's write() (version vs10.0) uses a buffer of 5K.
----------
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue11395>
_______________________________________
More information about the Python-bugs-list
mailing list