From dff4e45500b9e2f3949abbc54a894a21a64d859b Mon Sep 17 00:00:00 2001
From: Marcus Comstedt <marcus@mc.pp.se>
Date: Thu, 18 Mar 1999 00:17:42 +0100
Subject: [PATCH] Better dumb handling.

Rev: lib/modules/Stdio.pmod/Terminfo.pmod:1.2
---
 lib/modules/Stdio.pmod/Terminfo.pmod | 12 +++++++++---
 1 file changed, 9 insertions(+), 3 deletions(-)

diff --git a/lib/modules/Stdio.pmod/Terminfo.pmod b/lib/modules/Stdio.pmod/Terminfo.pmod
index e22ac5dfa2..ee47f6ebb2 100644
--- a/lib/modules/Stdio.pmod/Terminfo.pmod
+++ b/lib/modules/Stdio.pmod/Terminfo.pmod
@@ -1,4 +1,4 @@
-// $Id: Terminfo.pmod,v 1.1 1999/03/13 01:12:37 marcus Exp $
+// $Id: Terminfo.pmod,v 1.2 1999/03/17 23:17:42 marcus Exp $
 
 
 #if constant(thread_create)
@@ -334,7 +334,7 @@ class Terminfo {
       return 0;
     aliases = (f->read(sname)-"\0")/"|";
     {
-      array(int) bools = values(f->read(nbool+(nbool&1))[..nbool-1]);
+      array(int) bools = values(f->read(nbool/*+(nbool&1)*/)/*[..nbool-1]*/);
       if (sizeof(bools)>sizeof(boolnames))
 	bools = bools[..sizeof(boolnames)-1];
       map = mkmapping(boolnames[..sizeof(bools)-1], bools);
@@ -752,5 +752,11 @@ object getTerm(string|void term)
     }
     return t;
   }
-  return getTerminfo(term) || getTermcap(term);
+  return getTerminfo(term) || getTermcap(term) || getFallbackTerm(term);
+}
+
+static object getFallbackTerm(string term)
+{
+  return (term=="dumb"? Termcap("dumb:\\\n\t:am:co#80:do=^J:") :
+	  getTerm("dumb"));
 }
-- 
GitLab