diff options
author | Guido van Rossum <guido@python.org> | 2007-06-08 00:07:57 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2007-06-08 00:07:57 (GMT) |
commit | 2bf7138bb744cbb10f71ed5de2bb977c362a2052 (patch) | |
tree | 23c45ca069e984dd0017621772004c06986a10dc /Lib | |
parent | 7cad4f3d02861d143c0d5d71a93eab81972588e4 (diff) | |
download | cpython-2bf7138bb744cbb10f71ed5de2bb977c362a2052.zip cpython-2bf7138bb744cbb10f71ed5de2bb977c362a2052.tar.gz cpython-2bf7138bb744cbb10f71ed5de2bb977c362a2052.tar.bz2 |
Make test_socket work.
Don't exclude test_socket from the tests to run.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/io.py | 20 |
1 files changed, 13 insertions, 7 deletions
@@ -300,17 +300,23 @@ class IOBase: def readline(self, limit: int = -1) -> bytes: """For backwards compatibility, a (slowish) readline().""" + if hasattr(self, "peek"): + def nreadahead(): + readahead = self.peek(1, unsafe=True) + if not readahead: + return 1 + n = (readahead.find(b"\n") + 1) or len(readahead) + if limit >= 0: + n = min(n, limit) + return n + else: + def nreadahead(): + return 1 if limit is None: limit = -1 res = bytes() while limit < 0 or len(res) < limit: - readahead = self.peek(1, unsafe=True) - if not readahead: - break - n = (readahead.find(b"\n") + 1) or len(readahead) - if limit >= 0: - n = min(n, limit) - b = self.read(n) + b = self.read(nreadahead()) if not b: break res += b |