On Fri Oct 31, 2008 at 15:22:47 -0500, David Douthitt wrote:
> One thing that would be a good idea perhaps is a -V option: that is,
> an option that explains all of the optional parts that have been
> compiled into screen.
That's a trivial job, and as you say '-V' is available as a natural
nmemonic.
Minimal patch attached which does this for my version of tscreen.
Obviously it needs to be updated to handle other things like NETHACK
and a consensus reached on appropriate formatting. Still its not
a major change.
Sample output:
[EMAIL PROTECTED]:~/hg/tscreen$ ./tscreen -V
tscreen version 0.04.08skx (FORK) 31-10-2008
http://www.steve.org.uk/Software/tscreen/
Compilation Options
+ALLOW_SYSSCREENRC
-BUILTIN_TELNET
+CHECKLOGIN
+DETACH
-HAVE_BRAILE
+LOADAV
-LOCKPTY
-USE_PAM
Hardwired options
MAXWIN: 100
MAX_USERNAME_LEN: 50
SOCKDIR: /tmp/screens
TTYVMIN: 100
TTYVTIME: 2
Steve
--
# Commercial Debian GNU/Linux Support
http://www.linux-administration.org/
diff -r 9326bb6bbc4b screen.c
--- a/screen.c Sat Nov 01 14:19:21 2008 +0000
+++ b/screen.c Sat Nov 01 16:48:30 2008 +0000
@@ -150,6 +150,7 @@
static char *ParseChar __P((char *, char *));
static int ParseEscape __P((char *));
static char *pad_expand __P((char *, char *, int, int));
+static void showCompiledConfig();
#ifdef DEBUG
static void fds __P((void));
#endif
@@ -725,6 +726,9 @@
case 'X':
cmdflag = 1;
break;
+ case 'V':
+ showCompiledConfig();
+ break; /* NOTREACHED */
case 'v':
Panic(0, "tscreen version %s", version);
/* NOTREACHED */
@@ -3340,3 +3344,70 @@
return 0;
}
+
+
+static void
+showCompiledConfig()
+{
+ printf( "tscreen version %s\n\n", version );
+ printf( "http://www.steve.org.uk/Software/tscreen/\n" );
+
+ printf( "Compilation Options\n\n" );
+
+#ifdef ALLOW_SYSSCREENRC
+ printf( "+ALLOW_SYSSCREENRC\n" );
+#else
+ printf( "-ALLOW_SYSSCREENRC\n" );
+#endif
+
+#ifdef BULTIN_TELNET
+ printf( "+BUILTIN_TELNET\n" );
+#else
+ printf( "-BUILTIN_TELNET\n" );
+#endif
+
+#ifdef CHECKLOGIN
+ printf( "+CHECKLOGIN\n" );
+#else
+ printf( "-CHECKLOGIN\n" );
+#endif
+
+#ifdef DETACH
+ printf( "+DETACH\n" );
+#else
+ printf( "-DETACH\n" );
+#endif
+
+#ifdef HAVE_BRAILE
+ printf( "+HAVE_BRAILE\n" );
+#else
+ printf( "-HAVE_BRAILE\n" );
+#endif
+
+#ifdef LOADAV
+ printf( "+LOADAV\n" );
+#else
+ printf( "-LOADAV\n" );
+#endif
+
+#ifdef LOCKPTY
+ printf( "+LOCKPTY\n" );
+#else
+ printf( "-LOCKPTY\n" );
+#endif
+
+#ifdef USE_PAM
+ printf( "+USE_PAM\n" );
+#else
+ printf( "-USE_PAM\n" );
+#endif
+
+ printf( "\nHardwired options\n\n" );
+ printf( "\tMAXWIN: %d\n", MAXWIN );
+ printf( "\tMAX_USERNAME_LEN: %d\n", MAX_USERNAME_LEN );
+ printf( "\tSOCKDIR: %s\n", SOCKDIR );
+ printf( "\tTTYVMIN: %d\n", TTYVMIN );
+ printf( "\tTTYVTIME: %d\n", TTYVTIME );
+
+ exit(0);
+}