From 217a000d8184efdd59c549b52242169f1e9b3662 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Tue, 14 Apr 1998 11:21:51 -0700
Subject: [PATCH] inlined a bunch of code

Rev: lib/modules/Stdio.pmod:1.22
---
 lib/modules/Stdio.pmod | 91 ++++++++++++++++--------------------------
 1 file changed, 35 insertions(+), 56 deletions(-)

diff --git a/lib/modules/Stdio.pmod b/lib/modules/Stdio.pmod
index 7ee727b84e..d9ea10194a 100644
--- a/lib/modules/Stdio.pmod
+++ b/lib/modules/Stdio.pmod
@@ -15,21 +15,13 @@ class File
 #endif
   mixed ___id;
 
-  // This function is needed so that create() doesn't call an overloaded
-  // variant by mistake.
-  static private nomask int __open(string file, string mode,void|int bits)
+  int open(string file, string mode, void|int bits)
   {
     _fd=Fd();
     if(query_num_arg()<3) bits=0666;
     return ::open(file,mode,bits);
   }
 
-  int open(string file, string mode, void|int bits)
-  {
-    if(query_num_arg()<3) bits=0666;
-    return __open(file, mode, bits);
-  }
-
   int open_socket(int|void port, string|void address)
   {
     _fd=Fd();
@@ -64,27 +56,27 @@ class File
     }
   }
 
-  void create(mixed ... args)
+  void create(string|void file,void|string mode,void|int bits)
   {
-    if(sizeof(args))
+    switch(file)
     {
-      switch(args[0])
-      {
-	case "stdin":
-	  _fd=_stdin;
-	  break;
-
-	case "stdout":
-	  _fd=_stdin;
-	  break;
-
-	case "stderr":
-	  _fd=_stderr;
-	  break;
-
-	default:
-	  __open(@args);
-      }
+      case "stdin":
+	_fd=_stdin;
+      case 0:
+	break;
+	
+      case "stdout":
+	_fd=_stdin;
+	break;
+	
+      case "stderr":
+	_fd=_stderr;
+	break;
+	
+      default:
+	_fd=Fd();
+	if(query_num_arg()<3) bits=0666;
+	::open(file,mode,bits);
     }
   }
 
@@ -167,16 +159,12 @@ class File
   static void my_write_oob_callback() { ___write_oob_callback(___id); }
 #endif
 
+#define SET(X,Y) ::set_##X ((___##X = (Y)) && my_##X)
+
 #define CBFUNC(X)					\
-  static private nomask void __set_##X (mixed l##X)	\
-  {							\
-    ___##X=l##X;					\
-    ::set_##X(l##X && my_##X);				\
-  }							\
-							\
   void set_##X (mixed l##X)				\
   {							\
-    __set_##X(l##X);					\
+    SET( X , l##X );					\
   }							\
 							\
   mixed query_##X ()					\
@@ -192,11 +180,7 @@ class File
 #endif
 
   mixed query_close_callback()  { return ___close_callback; }
-  static private nomask void __set_close_callback(mixed c)
-  {
-    ___close_callback=c;
-  }
-  mixed set_close_callback(mixed c)  { __set_close_callback(c); }
+  mixed set_close_callback(mixed c)  { ___close_callback=c; }
   void set_id(mixed i) { ___id=i; }
   mixed query_id() { return ___id; }
 
@@ -209,30 +193,25 @@ class File
 #endif
     )
   {
-    // Use the __set_xxxx_callback() functions here, so that we
-    // don't call overloaded versions by mistake.
-    //	/grubba 1998-04-10
-    __set_read_callback(rcb);
-    __set_write_callback(wcb);
-    __set_close_callback(ccb);
+    SET(read_callback,rcb);
+    SET(write_callback,wcb);
+    ___close_callback=ccb;
+
 #if constant(__HAVE_OOB__)_
-    __set_read_oob_callback(roobcb);
-    __set_write_oob_callback(woobcb);
+    SET(read_oob_callback,roobcb);
+    SET(write_oob_callback,woobcb);
 #endif
     ::set_nonblocking();
   }
 
   void set_blocking()
   {
-    // Use the __set_xxxx_callback() functions here, so that we
-    // don't call overloaded versions by mistake.
-    //	/grubba 1998-04-10
-    __set_read_callback(0);
-    __set_write_callback(0);
-    __set_close_callback(0);
+    SET(read_callback,0);
+    SET(write_callback,0);
+    ___close_callback=0;
 #if constant(__HAVE_OOB__)_
-    __set_read_oob_callback(0);
-    __set_write_oob_callback(0);
+    SET(read_oob_callback,0);
+    SET(write_oob_callback,0);
 #endif
     ::set_blocking();
   }
-- 
GitLab