Hello Greg,

this patch fixes user/telnet for missing the vargargs in GCC 3.3/3.4.

--- user/telnet/commands.c.orig	2002-01-22 01:33:00.000000000 +0100
+++ user/telnet/commands.c	2004-05-28 02:26:00.992980260 +0200
@@ -55,7 +55,7 @@ static char sccsid[] = "@(#)commands.c	8
 #include <netdb.h>
 #include <ctype.h>
 #include <pwd.h>
-#include <varargs.h>
+#include <stdarg.h>
 #include <errno.h>
 #ifdef __linux__
 #include <unistd.h>
@@ -83,7 +83,7 @@ static char sccsid[] = "@(#)commands.c	8
 
 #ifndef       MAXHOSTNAMELEN
 #define       MAXHOSTNAMELEN 64
-#endif        MAXHOSTNAMELEN
+#endif
 
 #if	defined(IPPROTO_IP) && defined(IP_TOS)
 int tos = -1;
@@ -97,8 +97,7 @@ extern char *getenv();
 extern int isprefix();
 extern char **genget();
 extern int Ambiguous();
-
-static call();
+static int call(int (*routine)(int argc, char *argv[]), ...);
 
 typedef struct {
 	char	*name;		/* command name */
@@ -2418,18 +2417,14 @@ static Command cmdtab2[] = {
  */
 
     /*VARARGS1*/
-    static
-call(va_alist)
-    va_dcl
+    static int
+call(int (*routine)(int argc, char *argv[]), ...)
 {
     va_list ap;
-    typedef int (*intrtn_t)();
-    intrtn_t routine;
     char *args[100];
     int argno = 0;
 
-    va_start(ap);
-    routine = (va_arg(ap, intrtn_t));
+    va_start(ap, routine);
     while ((args[argno++] = va_arg(ap, char *)) != 0) {
 	;
     }
