From ba064e65b443db5580758ca28cd03380486cda7e Mon Sep 17 00:00:00 2001
From: Marcus Comstedt <marcus@mc.pp.se>
Date: Tue, 23 Mar 1999 19:01:48 +0100
Subject: [PATCH] EOF handling.

Rev: lib/modules/Stdio.pmod/Readline.pike:1.6
---
 lib/modules/Stdio.pmod/Readline.pike | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/lib/modules/Stdio.pmod/Readline.pike b/lib/modules/Stdio.pmod/Readline.pike
index d132315fec..7e8c561682 100644
--- a/lib/modules/Stdio.pmod/Readline.pike
+++ b/lib/modules/Stdio.pmod/Readline.pike
@@ -1,4 +1,4 @@
-// $Id: Readline.pike,v 1.5 1999/03/23 15:25:23 marcus Exp $
+// $Id: Readline.pike,v 1.6 1999/03/23 18:01:48 marcus Exp $
 
 class OutputController
 {
@@ -234,9 +234,9 @@ class InputController
   void destroy()
   {
     catch{ infd->set_blocking(); };
+    catch{ infd->tcsetattr((["ECHO":1,"ICANON":1])); };
     catch{ if(oldattrs) infd->tcsetattr((["ECHO":0,"ICANON":0,"VEOF":0,
 					  "VEOL":0,"VLNEXT":0])&oldattrs); };
-    catch{ infd->tcsetattr((["ECHO":1,"ICANON":1])); };
   }
 
   static private string process_input(string s)
@@ -346,6 +346,10 @@ class InputController
 	return;
       data = prefix+infd->read(1024, 1);
       prefix = "";
+      if(!data || !sizeof(data)) {
+	disable();
+	return;
+      }
     }
   }
 
-- 
GitLab