From 5baf4bc97863dc2a5e89ca22ac73bdbf34dff925 Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Mon, 29 Dec 1997 20:05:45 +0000 Subject: [PATCH] Moved things around a bit in interact(), so outout is processed before input. When an EOF is read, break out of the loop instead of (by default) writing an empty line (which doesn't do much good). Don't close self when falling through the loop. --- Lib/telnetlib.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Lib/telnetlib.py b/Lib/telnetlib.py index 1a1c75edfd..4784a6988e 100644 --- a/Lib/telnetlib.py +++ b/Lib/telnetlib.py @@ -376,9 +376,6 @@ class Telnet: """Interaction function, emulates a very dumb telnet client.""" while 1: rfd, wfd, xfd = select.select([self, sys.stdin], [], []) - if sys.stdin in rfd: - line = sys.stdin.readline() - self.write(line) if self in rfd: try: text = self.read_eager() @@ -388,7 +385,11 @@ class Telnet: if text: sys.stdout.write(text) sys.stdout.flush() - self.close() + if sys.stdin in rfd: + line = sys.stdin.readline() + if not line: + break + self.write(line) def expect(self, list, timeout=None): """Read until one from a list of a regular expressions matches. -- 2.50.1