70 Commits

Author SHA1 Message Date
Victor Stinner
7234479580 Issue #9611: remove useless and dangerous explicit conversion to size_t 2011-01-11 00:04:12 +00:00
Antoine Pitrou
a4815caa7c Issue #10872: The repr() of TextIOWrapper objects now includes the mode
if available.

(at Georg's request)
2011-01-09 20:38:15 +00:00
Victor Stinner
89e3436606 Issue #10841: set binary mode on files; the parser translates newlines
On Windows, set the binary mode on stdin, stdout, stderr and all
io.FileIO objects (to not translate newlines, \r\n <=> \n). The Python parser
translates newlines (\r\n => \n).
2011-01-07 18:47:22 +00:00
Victor Stinner
e6edec2371 Issue #9015, #9611: FileIO.readinto(), FileIO.write() and os.write() clamp the
length to 2^31-1 on Windows.
2011-01-04 00:29:35 +00:00
Antoine Pitrou
7f8f41808b Issue #10750: The raw attribute of buffered IO objects is now read-only. 2010-12-21 21:20:59 +00:00
Antoine Pitrou
f3b68b3f98 Issue #10478: Reentrant calls inside buffered IO objects (for example by
way of a signal handler) now raise a RuntimeError instead of freezing the
current process.
2010-12-03 18:41:39 +00:00
Benjamin Peterson
fa73555cfc correct logic when pos is after the string #10467 2010-11-20 17:24:04 +00:00
Matthias Klose
bee3316083 Modules/_io/bufferedio.c (buffered_dealloc_warn): Make it static. 2010-11-16 20:07:51 +00:00
Antoine Pitrou
243757eb79 Issue #10180: Pickling file objects is now explicitly forbidden, since
unpickling them produced nonsensical results.
2010-11-05 21:15:39 +00:00
Benjamin Peterson
bbb0412ad1 if FileIO.__init__ fails, close fd 2010-10-30 23:16:28 +00:00
Benjamin Peterson
430d469758 fix style 2010-10-30 23:13:57 +00:00
Antoine Pitrou
8d2b51b46a Issue #10253: FileIO leaks a file descriptor when trying to open a file
for append that isn't seekable.  Patch by Brian Brazil.
2010-10-30 16:19:14 +00:00
Antoine Pitrou
e033e06db0 Issue #10093: ResourceWarnings are now issued when files and sockets are
deallocated without explicit closing.  These warnings are silenced by
default, except in pydebug mode.
2010-10-29 10:38:18 +00:00
Antoine Pitrou
ea5d17d9af In open(), only set the buffer size from st.st_blksize when it is greater
than 1.  This matches the pure Python implementation in _pyio and should
fix a couple of failures on the NetBSD buildbot.
2010-10-27 19:45:43 +00:00
Georg Brandl
28928aef2e #4829: better error message for invalid file mode 2010-10-21 13:45:52 +00:00
Antoine Pitrou
328ec7455f Issue #9854: The default read() implementation in io.RawIOBase now
handles non-blocking readinto() returning None correctly.
2010-09-14 18:37:24 +00:00
Amaury Forgeot d'Arc
616453c199 More docstring updates 2010-09-06 22:31:52 +00:00
Antoine Pitrou
972ee13e03 Issue #5506: BytesIO objects now have a getbuffer() method exporting a
view of their contents without duplicating them.  The view is both readable
and writable.
2010-09-06 18:48:21 +00:00
Antoine Pitrou
0d739d7047 Issue #9293: I/O streams now raise io.UnsupportedOperation when an
unsupported operation is attempted (for example, writing to a file open
only for reading).
2010-09-05 23:01:12 +00:00
Antoine Pitrou
d5c3f6c839 BytesIO.getvalue() and StringIO.getvalue() are METH_NOARGS. 2010-09-02 19:48:07 +00:00
Antoine Pitrou
b46b9d59ef Issue #9617: Signals received during a low-level write operation aren't
ignored by the buffered IO layer anymore.
2010-08-21 19:09:32 +00:00
Antoine Pitrou
32cfedeb1c Issue #9550: a BufferedReader could issue an additional read when the
original read request had been satisfied, which can block indefinitely
when the underlying raw IO channel is e.g. a socket.  Report and original
patch by Jason V. Miller.
2010-08-11 13:31:33 +00:00
Antoine Pitrou
c881f1592f Issue #9448: Fix a leak of OS resources (mutexes or semaphores) when
re-initializing a buffered IO object by calling its `__init__` method.
2010-08-01 16:53:42 +00:00
Georg Brandl
e40ee509e3 #9184: fix default value for "buffering" param of open(). 2010-07-11 09:33:39 +00:00
Victor Stinner
f6c578328c Issue #6697: Check that _PyUnicode_AsString() result is not NULL in textio.c
The bug may occurs if locale.getpreferredencoding() returns an encoding with a
surrogate (very unlikely!).
2010-05-19 01:17:01 +00:00