From 5ae2386994feaef72cc186dbf35b7890dab04f90 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Sun, 16 Mar 1997 18:37:54 -0800
Subject: [PATCH] slightly optimized

Rev: lib/modules/Stdio.pmod:1.2
---
 lib/modules/Stdio.pmod | 21 +++++++++++++++++----
 1 file changed, 17 insertions(+), 4 deletions(-)

diff --git a/lib/modules/Stdio.pmod b/lib/modules/Stdio.pmod
index 49ab6576d2..d64f8831db 100644
--- a/lib/modules/Stdio.pmod
+++ b/lib/modules/Stdio.pmod
@@ -42,10 +42,12 @@ class FILE {
     /* Public functions. */
     string gets()
     {
-      int p;
-      while((p=search(b, "\n", bpos)) == -1)
-	if(!get_data())
-	  return 0;
+      int p,tmp=bpos;
+      while((p=search(b, "\n", tmp)) == -1)
+      {
+	tmp=strlen(b);
+	if(!get_data()) return 0;
+      }
       return extract(p-bpos, 1);
     }
 
@@ -213,3 +215,14 @@ void perror(string s)
   stderr->write(s+": errno: "+predef::errno()+"\n");
 #endif
 }
+
+mixed `[](string index)
+{
+  mixed x=`->(this_object(),index);
+  if(x) return x;
+  switch(index)
+  {
+  case "readline": return master()->resolv("readline");
+  default: return ([])[0];
+  }
+}
-- 
GitLab