diff -ru cicb-5.0.9c1.1/icb/c_log.c cicb-5.0.9c1.1.local/icb/c_log.c
--- cicb-5.0.9c1.1/icb/c_log.c	Mon Dec  9 20:10:34 1996
+++ cicb-5.0.9c1.1.local/icb/c_log.c	Thu Jul  1 23:37:35 1999
@@ -46,7 +46,6 @@
 	struct tm *t, *localtime();
 	time_t clock;
 	extern int errno, sys_nerr;
-	extern char *sys_errlist[];
 
 	/* determine pathname to use */
 	if (path == NULL || *path == '\0')
diff -ru cicb-5.0.9c1.1/icb/c_replay.c cicb-5.0.9c1.1.local/icb/c_replay.c
--- cicb-5.0.9c1.1/icb/c_replay.c	Mon Dec  9 20:10:34 1996
+++ cicb-5.0.9c1.1.local/icb/c_replay.c	Mon Apr 24 23:14:14 2000
@@ -4,6 +4,7 @@
 #include "icb.h"
 #include "externs.h"
 #include "getswitch.h"
+#include <alloca.h>
 
 STRLIST *bufhead = NULL, *buftail = NULL;
 int bufmessages = 0;
@@ -188,11 +189,11 @@
 char *str;
 {
 	char cc;
-	char cleaned_str[256];
+	char *cleaned_str;
 	int copy=1;
 	int i,j;
 
-
+	cleaned_str = alloca(strlen(str) + 1);
 	i = j = 0;
 	while (i < strlen(str))
 	{
diff -ru cicb-5.0.9c1.1/icb/msgs.c cicb-5.0.9c1.1.local/icb/msgs.c
--- cicb-5.0.9c1.1/icb/msgs.c	Mon Dec  9 20:10:34 1996
+++ cicb-5.0.9c1.1.local/icb/msgs.c	Wed Sep  8 15:10:13 1999
@@ -181,6 +181,11 @@
 		return;
 	}
 
+	if (!strcmp(fields[0], "Drop"))
+	{
+		sendpersonal(mynick, "idle boot disabled", 0);
+	}
+
 	if (!strcmp(fields[0], "Register") && gv.autoregister)
 	{
 		regnick((char *)0);
diff -ru cicb-5.0.9c1.1/icb/parse.c cicb-5.0.9c1.1.local/icb/parse.c
--- cicb-5.0.9c1.1/icb/parse.c	Mon Dec  9 20:10:34 1996
+++ cicb-5.0.9c1.1.local/icb/parse.c	Mon Apr 24 23:02:24 2000
@@ -5,6 +5,7 @@
 
 #include "icb.h"
 #include "externs.h"
+#include <string.h>
 
 extern Tcl_Interp *interp;
 char *nextword();
@@ -15,7 +16,8 @@
 parse(s)
 char *s;
 {
-	char cmdbuf[1024], *p;
+	char *cmdbuf;
+	char *p;
 	int result;
 	char *line = s;
 	int len;
@@ -57,9 +59,10 @@
 	/* check to see if it's a tcl special */
 	if (wordcmp(s, "tcl") == 0) {
 		s += 4;
-		strcpy(cmdbuf,s);
+		cmdbuf = strdup(s);
 	} else {
 		/* if not, quote the text */
+		cmdbuf = malloc(2*strlen(s) + 1);
 		quoteify(s, cmdbuf);
 	}
 
@@ -67,6 +70,7 @@
 
 	/* call TCL to evaluate the string */
 	result = Tcl_Eval(interp, cmdbuf, 0, &p);
+	free(cmdbuf);
 
 	if (result == TCL_UNKNOWN)
 	{
diff -ru cicb-5.0.9c1.1/icb/protos.h cicb-5.0.9c1.1.local/icb/protos.h
--- cicb-5.0.9c1.1/icb/protos.h	Mon Dec  9 20:10:34 1996
+++ cicb-5.0.9c1.1.local/icb/protos.h	Mon Apr 24 23:02:40 2000
@@ -109,7 +109,6 @@
 int split(char *s);
 int startsessionlog(Tcl_Interp *interp, char *path);
 int statusmsg(char *pkt);
-int strcasecmp(char *s1, char *s2);
 int strcicmp(char *s1, char *s2);
 int strcincmp(char *s1, char *s2, int n);
 int strlinkafter(STRLIST *s, STRLIST *i, STRLIST **head, STRLIST **tail);
@@ -117,7 +116,6 @@
 int strlinkbefore(STRLIST *s, STRLIST *i, STRLIST **head, STRLIST **tail);
 int strlinkhead(STRLIST *s, STRLIST **head, STRLIST **tail);
 int strlinktail(STRLIST *s, STRLIST **head, STRLIST **tail);
-int strncasecmp(char *s1, char *s2, register int n);
 int strunlink(STRLIST *s, STRLIST **head, STRLIST **tail);
 sighandler suspend();
 int tclinit(void);
diff -ru cicb-5.0.9c1.1/icb/unix.c cicb-5.0.9c1.1.local/icb/unix.c
--- cicb-5.0.9c1.1/icb/unix.c	Mon Dec  9 20:10:34 1996
+++ cicb-5.0.9c1.1.local/icb/unix.c	Tue Oct  5 23:41:10 1999
@@ -25,6 +25,10 @@
 #undef stty
 #undef gtty
 
+#ifdef linux
+#define SYSV
+#endif
+
 #ifndef SYSV
 
 #ifdef linux
@@ -58,7 +62,7 @@
 	char *loginid;
 	struct passwd *pw;
 
-	if (((loginid = getlogin()) == NULL) || *loginid == '\0')
+	/* if (((loginid = getlogin()) == NULL) || *loginid == '\0') */
 		if ((pw = getpwuid(getuid())) == NULL)
 			loginid = NULL;
 		else
diff -ru cicb-5.0.9c1.1/murgil/serverserve.c cicb-5.0.9c1.1.local/murgil/serverserve.c
--- cicb-5.0.9c1.1/murgil/serverserve.c	Mon Dec  9 20:10:34 1996
+++ cicb-5.0.9c1.1.local/murgil/serverserve.c	Thu Feb  3 04:58:06 2000
@@ -81,9 +81,9 @@
 
 	/* examine set of file descriptors */
 	for (b = 0, y = 0; b <= (howmany(highestfd, 32) - 1); b++, y += 32) {
-	    if (!fdr.fds_bits[b])
+	    if (!fdr.__fds_bits[b])
 		continue;
-	    bits = fdr.fds_bits[b];
+	    bits = fdr.__fds_bits[b];
 	    for (x = y; bits; x++, bits >>= 01)
 		if (bits & 01)
 			if (x == port_fd) {
diff -ru cicb-5.0.9c1.1/readline/readline.c cicb-5.0.9c1.1.local/readline/readline.c
--- cicb-5.0.9c1.1/readline/readline.c	Mon Dec  9 20:10:35 1996
+++ cicb-5.0.9c1.1.local/readline/readline.c	Thu Feb  3 05:02:31 2000
@@ -44,9 +44,7 @@
 #include <sys/file.h>
 #include <signal.h>
 
-#if defined (HAVE_UNISTD_H)
 #  include <unistd.h>
-#endif
 
 #define NEW_TTY_DRIVER
 #define HAVE_BSD_SIGNALS
@@ -284,7 +282,7 @@
 static FILE *in_stream, *out_stream;
 
 /* The names of the streams that we do input and output to. */
-FILE *rl_instream = stdin, *rl_outstream = stdout;
+FILE *rl_instream = NULL, *rl_outstream = NULL;
 
 /* Non-zero means echo characters as they are read. */
 int readline_echoing_p = 1;
@@ -1154,6 +1152,9 @@
 /* Initialize the entire state of the world. */
 readline_initialize_everything ()
 {
+  rl_instream = stdin;
+  rl_outstream = stdout;
+
   /* Find out if we are running in Emacs. */
   running_in_emacs = getenv ("EMACS");
 
diff -ru cicb-5.0.9c1.1/tcl/strerror.c cicb-5.0.9c1.1.local/tcl/strerror.c
--- cicb-5.0.9c1.1/tcl/strerror.c	Mon Dec  9 20:10:35 1996
+++ cicb-5.0.9c1.1.local/tcl/strerror.c	Thu Jul  1 23:37:28 1999
@@ -20,6 +20,7 @@
 #include <stdio.h>
 #include <string.h>
 
+#if 0
 /*
  * List of known errors:
  */
@@ -138,3 +139,4 @@
     (void) sprintf(defaultMsg, "unknown error (%d)", error);
     return defaultMsg;
 }
+#endif
