[cvslog] Module eggdrop1.7: Change committed

cvslog cvs at tsss.org
Thu Oct 11 13:25:02 CST 2001


CVSROOT    : /usr/local/cvsroot
Module     : eggdrop1.7
Commit time: 2001-10-11 18:24:14 UTC
Commited by: Tothwolf <tothwolf at techmonkeys.org>

Modified files:
     src/Makefile.am src/chanprog.c src/flags.c src/match.c src/misc.c
     src/modules.c src/proto.h src/userent.c src/userrec.c src/users.c
     src/mod/module.h src/mod/modvals.h
     src/mod/channels.mod/channels.c src/mod/channels.mod/cmdschan.c
     src/mod/channels.mod/userchan.c src/mod/irc.mod/chan.c
     src/mod/irc.mod/cmdsirc.c src/mod/irc.mod/irc.c
     src/mod/irc.mod/mode.c src/mod/irc.mod/msgcmds.c
     src/mod/server.mod/server.c src/mod/server.mod/servmsg.c
     src/mod/share.mod/share.c src/mod/transfer.mod/transfer.c

Added files:
     src/irccmp.c src/irccmp.h src/match.h

Removed files:
     src/rfc1459.c

Log message:

* rfc1459.c cleaned up and renamed to irccmp.c
* rfc_casecmp() renamed to irccmp()
* rfc_ncasecmp() renamed to ircncmp()
* rfc_toupper() renamed to irctoupper()
* rfc_tolower() renamed to irctolower()
* more match.c cleanups

---------------------- diff included ----------------------
Index: eggdrop1.7/src/Makefile.am
diff -u eggdrop1.7/src/Makefile.am:1.3 eggdrop1.7/src/Makefile.am:1.4
--- eggdrop1.7/src/Makefile.am:1.3	Wed Oct 10 09:50:01 2001
+++ eggdrop1.7/src/Makefile.am	Thu Oct 11 13:24:01 2001
@@ -1,4 +1,4 @@
-# $Id: Makefile.am,v 1.3 2001/10/10 14:50:01 tothwolf Exp $
+# $Id: Makefile.am,v 1.4 2001/10/11 18:24:01 tothwolf Exp $
 
 # FIXME: optionally allow a system wide install by ignoring the line below.
 bindir    = $(exec_prefix)
@@ -35,9 +35,12 @@
 		eggdrop.h \
 		flags.c \
 		flags.h \
+		irccmp.c \
+		irccmp.h \
 		main.c \
 		main.h \
 		match.c \
+		match.h \
 		md5.c \
 		md5.h \
 		misc.c \
@@ -48,7 +51,6 @@
 		net.c \
 		patch.h \
 		proto.h \
-		rfc1459.c \
 		stat.h \
 		tandem.h \
 		tcl.c \
Index: eggdrop1.7/src/chanprog.c
diff -u eggdrop1.7/src/chanprog.c:1.29 eggdrop1.7/src/chanprog.c:1.30
--- eggdrop1.7/src/chanprog.c:1.29	Wed Oct 10 05:44:03 2001
+++ eggdrop1.7/src/chanprog.c	Thu Oct 11 13:24:01 2001
@@ -5,7 +5,7 @@
  *   telling the current programmed settings
  *   initializing a lot of stuff and loading the tcl scripts
  *
- * $Id: chanprog.c,v 1.29 2001/10/10 10:44:03 tothwolf Exp $
+ * $Id: chanprog.c,v 1.30 2001/10/11 18:24:01 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -87,7 +87,7 @@
   register memberlist	*x;
 
   for (x = chan->channel.member; x && x->nick[0]; x = x->next)
-    if (!rfc_casecmp(x->nick, nick))
+    if (!irccmp(x->nick, nick))
       return x;
   return NULL;
 }
@@ -99,7 +99,7 @@
   register struct chanset_t	*chan;
 
   for (chan = chanset; chan; chan = chan->next)
-    if (!rfc_casecmp(chan->name, name))
+    if (!irccmp(chan->name, name))
       return chan;
   return NULL;
 }
@@ -111,7 +111,7 @@
   register struct chanset_t	*chan;
 
   for (chan = chanset; chan; chan = chan->next)
-    if (!rfc_casecmp(chan->dname, name))
+    if (!irccmp(chan->dname, name))
       return chan;
   return NULL;
 }
@@ -134,7 +134,7 @@
   nick = splitnick(&uhost);
   for (chan = chanset; chan; chan = chan->next)
     for (m = chan->channel.member; m && m->nick[0]; m = m->next)
-      if (!rfc_casecmp(nick, m->nick) && !egg_strcasecmp(uhost, m->userhost))
+      if (!irccmp(nick, m->nick) && !egg_strcasecmp(uhost, m->userhost))
 	return m->user;
   return NULL;
 }
@@ -180,7 +180,7 @@
 
   for (chan = chanset; chan; chan = chan->next)
     for (m = chan->channel.member; m && m->nick[0]; m = m->next)
-      if (!rfc_casecmp(m->nick, nick)) {
+      if (!irccmp(m->nick, nick)) {
 	m->user = NULL;
 	break;
       }
@@ -199,7 +199,7 @@
   nick = splitnick(&uhost);
   for (chan = chanset; chan; chan = chan->next)
     for (m = chan->channel.member; m && m->nick[0]; m = m->next)
-      if (!rfc_casecmp(nick, m->nick) && !egg_strcasecmp(uhost, m->userhost))
+      if (!irccmp(nick, m->nick) && !egg_strcasecmp(uhost, m->userhost))
 	m->user = rec;
 }
 
Index: eggdrop1.7/src/flags.c
diff -u eggdrop1.7/src/flags.c:1.21 eggdrop1.7/src/flags.c:1.22
--- eggdrop1.7/src/flags.c:1.21	Thu Oct 11 06:34:19 2001
+++ eggdrop1.7/src/flags.c	Thu Oct 11 13:24:01 2001
@@ -2,7 +2,7 @@
  * flags.c -- handles:
  *   all the flag matching/conversion functions in one neat package :)
  *
- * $Id: flags.c,v 1.21 2001/10/11 11:34:19 tothwolf Exp $
+ * $Id: flags.c,v 1.22 2001/10/11 18:24:01 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -630,7 +630,7 @@
   /* Don't share bot attrs */
   if ((oldflags & FR_CHAN) && chname) {
     for (cr = u->chanrec; cr; cr = cr->next)
-      if (!rfc_casecmp(chname, cr->channel))
+      if (!irccmp(chname, cr->channel))
 	break;
     ch = findchan_by_dname(chname);
     if (!cr && ch) {
@@ -686,7 +686,7 @@
     } else {
       if (chname)
 	for (cr = u->chanrec; cr; cr = cr->next)
-	  if (!rfc_casecmp(chname, cr->channel))
+	  if (!irccmp(chname, cr->channel))
 	    break;
       if (cr) {
 	fr->chan = cr->flags;
Index: eggdrop1.7/src/irccmp.c
diff -u /dev/null eggdrop1.7/src/irccmp.c:1.1
--- /dev/null	Thu Oct 11 13:24:14 2001
+++ eggdrop1.7/src/irccmp.c	Thu Oct 11 13:24:01 2001
@@ -0,0 +1,168 @@
+/*
+ * irccmp.c
+ *   heavily based on code from src/match.c in ircd-hybrid
+ *
+ * $Id: irccmp.c,v 1.1 2001/10/11 18:24:01 tothwolf Exp $
+ */
+/*
+ * Copyright (C) 1990 Jarkko Oikarinen
+ * Copyright (C) 1999, 2000, 2001 Eggheads Development Team
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+/*
+ * This code was more or less cloned from the ircd-hybrid 5.3 source.
+ * The original code was written by Otto Harkoonen and even though it
+ * it not entirely in synch with section 2.2 of RFC1459 in that it
+ * additionally defines carat as an uppercase version of tilde, it's
+ * what is in the servers themselves so we're going with it this way.
+ *
+ * If for some reason someone who maintains the source for ircd decides
+ * to change the code to be completely RFC compliant, the change here
+ * would be absolutely miniscule.
+ *
+ * BTW, since carat characters are allowed in nicknames and tildes are
+ * not, I stronly suggest that people convert to uppercase when doing
+ * comparisons or creation of hash elements (which tcl laughably calls
+ * arrays) to avoid making entries with impossible nicknames in them.
+ *
+ * --+ Dagmar
+ */
+
+/* prototypes */
+#include "irccmp.h"
+
+
+/*
+ * irccmp - case insensitive comparison of two 0 terminated strings.
+ *
+ *      returns  0, if s1 equal to s2
+ *              <0, if s1 lexicographically less than s2
+ *              >0, if s1 lexicographically greater than s2
+ */
+int _irccmp(const char *s1, const char *s2)
+{
+  const unsigned char* str1 = (const unsigned char*) s1;
+  const unsigned char* str2 = (const unsigned char*) s2;
+  int   res;
+/*  assert(0 != s1); */
+/*  assert(0 != s2); */
+
+  while ((res = ToUpper(*str1) - ToUpper(*str2)) == 0) {
+    if (*str1 == '\0')
+      return 0;
+    str1++;
+    str2++;
+  }
+  return (res);
+}
+
+int _ircncmp(const char* s1, const char *s2, int n)
+{
+  const unsigned char* str1 = (const unsigned char*) s1;
+  const unsigned char* str2 = (const unsigned char*) s2;
+  int res;
+/*  assert(0 != s1); */
+/*  assert(0 != s2); */
+
+  while ((res = ToUpper(*str1) - ToUpper(*str2)) == 0) {
+    str1++;
+    str2++;
+    n--;
+    if (n == 0 || (*str1 == '\0' && *str2 == '\0'))
+      return 0;
+  }
+  return (res);
+}
+
+int _irctolower(int c)
+{
+  return ToLower(c);
+}
+
+int _irctoupper(int c)
+{
+  return ToUpper(c);
+}
+
+const unsigned char ToLowerTab[] = {
+  0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa,
+  0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14,
+  0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
+  0x1e, 0x1f,
+  ' ', '!', '"', '#', '$', '%', '&', 0x27, '(', ')',
+  '*', '+', ',', '-', '.', '/',
+  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+  ':', ';', '<', '=', '>', '?',
+  '@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
+  'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
+  't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
+  '_',
+  '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
+  'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
+  't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
+  0x7f,
+  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
+  0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
+  0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
+  0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
+  0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9,
+  0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
+  0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9,
+  0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
+  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
+  0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
+  0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
+  0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
+  0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9,
+  0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
+};
+
+const unsigned char ToUpperTab[] = {
+  0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa,
+  0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14,
+  0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
+  0x1e, 0x1f,
+  ' ', '!', '"', '#', '$', '%', '&', 0x27, '(', ')',
+  '*', '+', ',', '-', '.', '/',
+  '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
+  ':', ';', '<', '=', '>', '?',
+  '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
+  'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
+  'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^',
+  0x5f,
+  '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
+  'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
+  'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^',
+  0x7f,
+  0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
+  0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
+  0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
+  0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
+  0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9,
+  0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
+  0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
+  0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
+  0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9,
+  0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
+  0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
+  0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
+  0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
+  0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
+  0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9,
+  0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
+};
Index: eggdrop1.7/src/irccmp.h
diff -u /dev/null eggdrop1.7/src/irccmp.h:1.1
--- /dev/null	Thu Oct 11 13:24:14 2001
+++ eggdrop1.7/src/irccmp.h	Thu Oct 11 13:24:01 2001
@@ -0,0 +1,46 @@
+/*
+ * irccmp.h
+ *   prototypes and macros for irccmp.c
+ *
+ * $Id: irccmp.h,v 1.1 2001/10/11 18:24:01 tothwolf Exp $
+ */
+/*
+ * Copyright (C) 1990 Jarkko Oikarinen
+ * Copyright (C) 1999, 2000, 2001 Eggheads Development Team
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
+ */
+#ifndef _EGG_IRCCMP_H
+#define _EGG_IRCCMP_H
+
+
+/*
+ * prototypes
+ */
+extern int _irccmp(const char *, const char *);
+extern int _ircncmp(const char *, const char *, int);
+extern int _irctolower(int);
+extern int _irctoupper(int);
+
+/*
+ * character macros
+ */
+extern const unsigned char ToLowerTab[];
+#define ToLower(c) (ToLowerTab[(unsigned char)(c)])
+
+extern const unsigned char ToUpperTab[];
+#define ToUpper(c) (ToUpperTab[(unsigned char)(c)])
+
+#endif				/* !_EGG_IRCCMP_H */
Index: eggdrop1.7/src/match.c
diff -u eggdrop1.7/src/match.c:1.6 eggdrop1.7/src/match.c:1.7
--- eggdrop1.7/src/match.c:1.6	Wed Oct 10 05:44:04 2001
+++ eggdrop1.7/src/match.c	Thu Oct 11 13:24:01 2001
@@ -1,35 +1,31 @@
-/* 
+/*
  * match.c
  *   wildcard matching functions
- *   (rename to reg.c for ircII)
- * 
- * $Id: match.c,v 1.6 2001/10/10 10:44:04 tothwolf Exp $
+ *
+ * $Id: match.c,v 1.7 2001/10/11 18:24:01 tothwolf Exp $
  */
-/* 
+/*
  * Once this code was working, I added support for % so that I could
  * use the same code both in Eggdrop and in my IrcII client.
  * Pleased with this, I added the option of a fourth wildcard, ~,
  * which matches varying amounts of whitespace (at LEAST one space,
  * though, for sanity reasons).
- * 
+ *
  * This code would not have been possible without the prior work and
  * suggestions of various sources.  Special thanks to Robey for
  * all his time/help tracking down bugs and his ever-helpful advice.
- * 
+ *
  * 04/09:  Fixed the "*\*" against "*a" bug (caused an endless loop)
- * 
+ *
  *   Chris Fuller  (aka Fred1 at IRC & Fwitz at IRC)
  *     crf at cfox.bchs.uh.edu
- * 
+ *
  * I hereby release this code into the public domain
  */
 
-#ifdef HAVE_CONFIG_H
-#  include <config.h>
-#endif
-
-/* needed for prototypes ... this is ugly */
-#include "main.h"
+/* prototypes */
+#include "match.h"
+#include "irccmp.h"	/* irctoupper() */
 
 
 /* The quoting character -- what overrides wildcards */
@@ -55,14 +51,14 @@
 #define MATCH_PER (match+saved+sofar)
 
 
-/* 
+/*
  * wild_match(char *ma, char *na)
- * 
+ *
  * Features:  Backwards, case-insensitive, ?, *
  * Best use:  Matching of hostmasks (since they are likely to begin
  *            with a * rather than end with one).
  */
-/* 
+/*
  * sofar's high bit is used as a flag of whether or not we are quoting.
  * The other matchers don't need this because when you're going forward,
  * you just skip over the quote char.
@@ -106,7 +102,7 @@
       sofar &= UNQUOTED;	/* Remember not quoted */
     } else
       sofar |= QUOTED;		/* Remember quoted */
-    if (rfc_toupper(*m) == rfc_toupper(*n)) {	/* If matching char */
+    if (irctoupper(*m) == irctoupper(*n)) {	/* If matching char */
       m--;
       n--;
       sofar++;			/* Tally the match */
@@ -130,9 +126,9 @@
 }
 
 
-/* 
+/*
  * wild_match_per(char *m, char *n)
- * 
+ *
  * Features:  Forward, case-insensitive, ?, *, %, ~(optional)
  * Best use:  Generic string matching, such as in IrcII-esque bindings
  */
@@ -208,7 +204,7 @@
       case QUOTE:
 	m++;			/* Handle quoting */
       }
-      if (rfc_toupper(*m) == rfc_toupper(*n)) {		/* If matching */
+      if (irctoupper(*m) == irctoupper(*n)) {		/* If matching */
 	m++;
 	n++;
 	sofar++;
Index: eggdrop1.7/src/match.h
diff -u /dev/null eggdrop1.7/src/match.h:1.1
--- /dev/null	Thu Oct 11 13:24:14 2001
+++ eggdrop1.7/src/match.h	Thu Oct 11 13:24:01 2001
@@ -0,0 +1,17 @@
+/*
+ * match.h
+ *   prototypes for match.c
+ *
+ * $Id: match.h,v 1.1 2001/10/11 18:24:01 tothwolf Exp $
+ */
+#ifndef _EGG_MATCH_H
+#define _EGG_MATCH_H
+
+
+/*
+ * prototypes
+ */
+extern int wild_match(register unsigned char *, register unsigned char *);
+extern int wild_match_per(register unsigned char *, register unsigned char *);
+
+#endif				/* !_EGG_MATCH_H */
Index: eggdrop1.7/src/misc.c
diff -u eggdrop1.7/src/misc.c:1.47 eggdrop1.7/src/misc.c:1.48
--- eggdrop1.7/src/misc.c:1.47	Thu Oct 11 06:34:19 2001
+++ eggdrop1.7/src/misc.c	Thu Oct 11 13:24:01 2001
@@ -7,7 +7,7 @@
  *   help system
  *   motd display and %var substitution
  *
- * $Id: misc.c,v 1.47 2001/10/11 11:34:19 tothwolf Exp $
+ * $Id: misc.c,v 1.48 2001/10/11 18:24:01 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -540,7 +540,7 @@
     for (i = 0; i < max_logs; i++) {
       if ((logs[i].filename != NULL) && (logs[i].mask & type) &&
 	  ((chname[0] == '*') || (logs[i].chname[0] == '*') ||
-	   (!rfc_casecmp(chname, logs[i].chname)))) {
+	   (!irccmp(chname, logs[i].chname)))) {
 	if (logs[i].f == NULL) {
 	  /* Open this logfile */
 	  if (keep_all_logs) {
@@ -587,7 +587,7 @@
   for (i = 0; i < dcc_total; i++)
     if ((dcc[i].type == &DCC_CHAT) && (dcc[i].u.chat->con_flags & type)) {
       if ((chname[0] == '*') || (dcc[i].u.chat->con_chan[0] == '*') ||
-	  (!rfc_casecmp(chname, dcc[i].u.chat->con_chan)))
+	  (!irccmp(chname, dcc[i].u.chat->con_chan)))
 	dprintf(i, "%s", out);
     }
   if ((!backgrd) && (!con_chan) && (!term_z))
Index: eggdrop1.7/src/mod/channels.mod/channels.c
diff -u eggdrop1.7/src/mod/channels.mod/channels.c:1.63 eggdrop1.7/src/mod/channels.mod/channels.c:1.64
--- eggdrop1.7/src/mod/channels.mod/channels.c:1.63	Wed Oct 10 13:37:55 2001
+++ eggdrop1.7/src/mod/channels.mod/channels.c	Thu Oct 11 13:24:02 2001
@@ -2,7 +2,7 @@
  * channels.c -- part of channels.mod
  *   support for channels within the bot
  *
- * $Id: channels.c,v 1.63 2001/10/10 18:37:55 stdarg Exp $
+ * $Id: channels.c,v 1.64 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -221,7 +221,7 @@
 static int ismodeline(masklist *m, char *user)
 {
   for (; m && m->mask[0]; m = m->next)  
-    if (!rfc_casecmp(m->mask, user))
+    if (!irccmp(m->mask, user))
       return 1;
   return 0;
 }
Index: eggdrop1.7/src/mod/channels.mod/cmdschan.c
diff -u eggdrop1.7/src/mod/channels.mod/cmdschan.c:1.54 eggdrop1.7/src/mod/channels.mod/cmdschan.c:1.55
--- eggdrop1.7/src/mod/channels.mod/cmdschan.c:1.54	Thu Oct 11 08:01:35 2001
+++ eggdrop1.7/src/mod/channels.mod/cmdschan.c	Thu Oct 11 13:24:02 2001
@@ -2,7 +2,7 @@
  * cmdschan.c -- part of channels.mod
  *   commands from a user via dcc that cause server interaction
  *
- * $Id: cmdschan.c,v 1.54 2001/10/11 13:01:35 tothwolf Exp $
+ * $Id: cmdschan.c,v 1.55 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -475,7 +475,7 @@
 	return;
       }
       for (b = chan->channel.ban; b && b->mask && b->mask[0]; b = b->next) {
-	if (!rfc_casecmp(b->mask, ban)) {
+	if (!irccmp(b->mask, ban)) {
 	  add_mode(chan, '-', 'b', b->mask);
 	  dprintf(idx, "%s '%s' on %s.\n",
 		  _("Removed ban"), b->mask, chan->dname);
@@ -564,7 +564,7 @@
 	return;
       }
       for (e = chan->channel.exempt; e && e->mask && e->mask[0]; e = e->next) {
-	if (!rfc_casecmp(e->mask, exempt)) {
+	if (!irccmp(e->mask, exempt)) {
 	  add_mode(chan, '-', 'e', e->mask);
 	  dprintf(idx, "%s '%s' on %s.\n",
 		  _("Removed exempt"), e->mask, chan->dname);
@@ -655,7 +655,7 @@
       }
       for (inv = chan->channel.invite; inv && inv->mask && inv->mask[0];
 	   inv = inv->next) {
-	if (!rfc_casecmp(inv->mask, invite)) {
+	if (!irccmp(inv->mask, invite)) {
 	  add_mode(chan, '-', 'I', inv->mask);
 	  dprintf(idx, "%s '%s' on %s.\n",
 		  _("Removed invite"), inv->mask, chan->dname);
@@ -1134,7 +1134,7 @@
   putlog(LOG_CMDS, "*", "#%s# -chan %s", dcc[idx].nick, chname);
   for (i = 0; i < dcc_total; i++)
     if ((dcc[i].type->flags & DCT_CHAT) &&
-	!rfc_casecmp(dcc[i].u.chat->con_chan, chan->dname)) {
+	!irccmp(dcc[i].u.chat->con_chan, chan->dname)) {
       dprintf(i, "%s is no longer a valid channel, changing your console to '*'\n",
 	      chname);
       strcpy(dcc[i].u.chat->con_chan, "*");
Index: eggdrop1.7/src/mod/channels.mod/userchan.c
diff -u eggdrop1.7/src/mod/channels.mod/userchan.c:1.27 eggdrop1.7/src/mod/channels.mod/userchan.c:1.28
--- eggdrop1.7/src/mod/channels.mod/userchan.c:1.27	Wed Oct 10 05:44:05 2001
+++ eggdrop1.7/src/mod/channels.mod/userchan.c	Thu Oct 11 13:24:02 2001
@@ -1,7 +1,7 @@
 /*
  * userchan.c -- part of channels.mod
  *
- * $Id: userchan.c,v 1.27 2001/10/10 10:44:05 tothwolf Exp $
+ * $Id: userchan.c,v 1.28 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -27,7 +27,7 @@
   struct chanuserrec *ch;
 
   for (ch = u->chanrec; ch; ch = ch->next) 
-    if (!rfc_casecmp(ch->channel, chname))
+    if (!irccmp(ch->channel, chname))
       return ch;
   return NULL;
 }
@@ -123,7 +123,7 @@
   struct chanuserrec *ch = u->chanrec, *lst = NULL;
 
   while (ch) {
-    if (!rfc_casecmp(chname, ch->channel)) {
+    if (!irccmp(chname, ch->channel)) {
       if (lst == NULL)
 	u->chanrec = ch->next;
       else
@@ -158,7 +158,7 @@
 static int u_sticky_mask(maskrec *u, char *uhost)
 {
   for (; u; u = u->next)
-    if (!rfc_casecmp(u->mask, uhost))
+    if (!irccmp(u->mask, uhost))
       return (u->flags & MASKREC_STICKY);
   return 0;
 }
@@ -177,7 +177,7 @@
     if (j >= 0)
       j--;
 
-    if (!j || ((j < 0) && !rfc_casecmp(u->mask, uhost))) {
+    if (!j || ((j < 0) && !irccmp(u->mask, uhost))) {
       if (sticky > 0)
 	u->flags |= MASKREC_STICKY;
       else if (!sticky)
@@ -211,7 +211,7 @@
 static int u_equals_mask(maskrec *u, char *mask)
 {
   for (; u; u = u->next)
-    if (!rfc_casecmp(u->mask, mask)) {
+    if (!irccmp(u->mask, mask)) {
       if (u->flags & MASKREC_PERM)
         return 2;
       else
@@ -245,7 +245,7 @@
   } else {
     /* Find matching host, if there is one */
     for (; *u && !i; u = &((*u)->next))
-      if (!rfc_casecmp((*u)->mask, who)) {
+      if (!irccmp((*u)->mask, who)) {
 	i = 1;
 	break;
       }
@@ -296,7 +296,7 @@
   } else {
     /* Find matching host, if there is one */
     for (;*u && !i;u=&((*u)->next))
-      if (!rfc_casecmp((*u)->mask,who)) {
+      if (!irccmp((*u)->mask,who)) {
 	i = 1;
 	break;
       }
@@ -347,7 +347,7 @@
   } else {
     /* Find matching host, if there is one */
     for (;*u && !i; u = &((*u)->next))
-      if (!rfc_casecmp((*u)->mask,who)) {
+      if (!irccmp((*u)->mask,who)) {
 	i = 1;
 	break;
       }
@@ -1229,7 +1229,7 @@
 	break;
       }
 
-  if (!m || !chan_hasop(m) || !rfc_casecmp(m->nick, botname))
+  if (!m || !chan_hasop(m) || !irccmp(m->nick, botname))
     return 1;
 
   /* At this point we know the person/bot who set the mask is currently
@@ -1264,7 +1264,7 @@
 	     u->mask, _("expired"));
       for (chan = chanset; chan; chan = chan->next)
 	for (b = chan->channel.ban; b->mask[0]; b = b->next)
-	  if (!rfc_casecmp(b->mask, u->mask) &&
+	  if (!irccmp(b->mask, u->mask) &&
 	      expired_mask(chan, b->who) && b->timer != now) {
 	    add_mode(chan, '-', 'b', u->mask);
 	    b->timer = now;
@@ -1280,7 +1280,7 @@
 	putlog(LOG_MISC, "*", "%s %s %s %s (%s)", _("No longer banning"),
 	       u->mask, _("on"), chan->dname, _("expired"));
 	for (b = chan->channel.ban; b->mask[0]; b = b->next)
-	  if (!rfc_casecmp(b->mask, u->mask) &&
+	  if (!irccmp(b->mask, u->mask) &&
 	      expired_mask(chan, b->who) && b->timer != now) {
 	    add_mode(chan, '-', 'b', u->mask);
 	    b->timer = now;
@@ -1323,7 +1323,7 @@
             chan->dname);
 	else
 	  for (e = chan->channel.exempt; e->mask[0]; e = e->next)
-	    if (!rfc_casecmp(e->mask, u->mask) &&
+	    if (!irccmp(e->mask, u->mask) &&
 		expired_mask(chan, e->who) && e->timer != now) {
 	      add_mode(chan, '-', 'e', u->mask);
 	      e->timer = now;
@@ -1354,7 +1354,7 @@
           putlog(LOG_MISC, "*", "%s %s %s %s (%s)", _("No longer ban exempting"),
 		 u->mask, _("on"), chan->dname, _("expired"));
 	  for (e = chan->channel.exempt; e->mask[0]; e = e->next)
-	    if (!rfc_casecmp(e->mask, u->mask) &&
+	    if (!irccmp(e->mask, u->mask) &&
 		expired_mask(chan, e->who) && e->timer != now) {
 	      add_mode(chan, '-', 'e', u->mask);
 	      e->timer = now;
@@ -1384,7 +1384,7 @@
       for (chan = chanset; chan; chan = chan->next)
 	if (!(chan->channel.mode & CHANINV))
 	  for (b = chan->channel.invite; b->mask[0]; b = b->next)
-	    if (!rfc_casecmp(b->mask, u->mask) &&
+	    if (!irccmp(b->mask, u->mask) &&
 		expired_mask(chan, b->who) && b->timer != now) {
 	      add_mode(chan, '-', 'I', u->mask);
 	      b->timer = now;
@@ -1401,7 +1401,7 @@
 	       u->mask, _("on"), chan->dname, _("expired"));
 	if (!(chan->channel.mode & CHANINV))
 	  for (b = chan->channel.invite; b->mask[0]; b = b->next)
-	    if (!rfc_casecmp(b->mask, u->mask) &&
+	    if (!irccmp(b->mask, u->mask) &&
 		expired_mask(chan, b->who) && b->timer != now) {
 	      add_mode(chan, '-', 'I', u->mask);
 	      b->timer = now;
Index: eggdrop1.7/src/mod/irc.mod/chan.c
diff -u eggdrop1.7/src/mod/irc.mod/chan.c:1.75 eggdrop1.7/src/mod/irc.mod/chan.c:1.76
--- eggdrop1.7/src/mod/irc.mod/chan.c:1.75	Thu Oct 11 06:34:20 2001
+++ eggdrop1.7/src/mod/irc.mod/chan.c	Thu Oct 11 13:24:02 2001
@@ -6,7 +6,7 @@
  *   user kickban, kick, op, deop
  *   idle kicking
  *
- * $Id: chan.c,v 1.75 2001/10/11 11:34:20 tothwolf Exp $
+ * $Id: chan.c,v 1.76 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -134,7 +134,7 @@
 static void do_mask(struct chanset_t *chan, masklist *m, char *mask, char Mode)
 {
   for (; m && m->mask[0]; m = m->next)
-    if (wild_match(mask, m->mask) && rfc_casecmp(mask, m->mask))
+    if (wild_match(mask, m->mask) && irccmp(mask, m->mask))
       add_mode(chan, '-', Mode, m->mask);
   add_mode(chan, '+', Mode, mask);
   flush_mode(chan, QUICK);
@@ -221,7 +221,7 @@
     if (!p)
       return 0;
   }
-  if (rfc_casecmp(chan->floodwho[which], p)) {	/* new */
+  if (irccmp(chan->floodwho[which], p)) {	/* new */
     strncpy(chan->floodwho[which], p, 81);
     chan->floodwho[which][81] = 0;
     chan->floodtime[which] = now;
@@ -236,7 +236,7 @@
   }
   /* Deop'n the same person, sillyness ;) - so just ignore it */
   if (which == FLOOD_DEOP) {
-    if (!rfc_casecmp(chan->deopd, victim))
+    if (!irccmp(chan->deopd, victim))
       return 0;
     else
       strcpy(chan->deopd, victim);
@@ -669,7 +669,7 @@
     } else if ((mns & CHANLIMIT) && (chan->channel.maxmembers != 0))
       add_mode(chan, '-', 'l', "");
     if (chan->key_prot[0]) {
-      if (rfc_casecmp(chan->channel.key, chan->key_prot) != 0) {
+      if (irccmp(chan->channel.key, chan->key_prot) != 0) {
         if (chan->channel.key[0])
 	  add_mode(chan, '-', 'k', chan->channel.key);
         add_mode(chan, '+', 'k', chan->key_prot);
@@ -1330,7 +1330,7 @@
   newsplit(&msg);
   fixcolon(msg);
   nick = splitnick(&from);
-  if (!rfc_casecmp(last_invchan, msg))
+  if (!irccmp(last_invchan, msg))
     if (now - last_invtime < 30)
       return 0;		/* Two invites to the same channel in 30 seconds? */
   putlog(LOG_MISC, "*", "%s!%s invited me to %s", nick, from, msg);
@@ -1828,7 +1828,7 @@
     if (m) {
       putlog(LOG_JOIN, chan->dname, "Nick change: %s -> %s", nick, msg);
       m->last = now;
-      if (rfc_casecmp(nick, msg)) {
+      if (irccmp(nick, msg)) {
 	/* Not just a capitalization change */
 	mm = ismember(chan, msg);
 	if (mm) {
@@ -1932,11 +1932,11 @@
    */
   if (keepnick) {
     alt = get_altbotnick();
-    if (!rfc_casecmp(nick, origbotname)) {
+    if (!irccmp(nick, origbotname)) {
       putlog(LOG_MISC, "*", _("Switching back to nick %s"), origbotname);
       dprintf(DP_SERVER, "NICK %s\n", origbotname);
     } else if (alt[0]) {
-      if (!rfc_casecmp(nick, alt) && strcmp(botname, origbotname)) {
+      if (!irccmp(nick, alt) && strcmp(botname, origbotname)) {
 	putlog(LOG_MISC, "*", _("Switching back to altnick %s"), alt);
 	dprintf(DP_SERVER, "NICK %s\n", alt);
       }
Index: eggdrop1.7/src/mod/irc.mod/cmdsirc.c
diff -u eggdrop1.7/src/mod/irc.mod/cmdsirc.c:1.27 eggdrop1.7/src/mod/irc.mod/cmdsirc.c:1.28
--- eggdrop1.7/src/mod/irc.mod/cmdsirc.c:1.27	Thu Sep 27 21:52:12 2001
+++ eggdrop1.7/src/mod/irc.mod/cmdsirc.c	Thu Oct 11 13:24:02 2001
@@ -2,7 +2,7 @@
  * chancmds.c -- part of irc.mod
  *   handles commands direclty relating to channel interaction
  *
- * $Id: cmdsirc.c,v 1.27 2001/09/28 02:52:12 poptix Exp $
+ * $Id: cmdsirc.c,v 1.28 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -629,7 +629,7 @@
 	dprintf(idx, "%c%s%s %s%s %s %c     <- netsplit, %lus\n", chanflag,
 		m->nick, spaces, handle, spaces2, s, atrflag,
 		now - (m->split));
-      else if (!rfc_casecmp(m->nick, botname))
+      else if (!irccmp(m->nick, botname))
 	dprintf(idx, "%c%s%s %s%s %s %c     <- it's me!\n", chanflag, m->nick,
 		spaces, handle, spaces2, s, atrflag);
       else {
Index: eggdrop1.7/src/mod/irc.mod/irc.c
diff -u eggdrop1.7/src/mod/irc.mod/irc.c:1.67 eggdrop1.7/src/mod/irc.mod/irc.c:1.68
--- eggdrop1.7/src/mod/irc.mod/irc.c:1.67	Thu Oct 11 06:34:20 2001
+++ eggdrop1.7/src/mod/irc.mod/irc.c	Thu Oct 11 13:24:02 2001
@@ -2,7 +2,7 @@
  * irc.c -- part of irc.mod
  *   support for channels within the bot
  *
- * $Id: irc.c,v 1.67 2001/10/11 11:34:20 tothwolf Exp $
+ * $Id: irc.c,v 1.68 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -102,7 +102,7 @@
   /* Kickee is not a friend? */
   if (!chan_friend(fr) && !glob_friend(fr) &&
       /* ... and they didn't kick themself? */
-      rfc_casecmp(badnick, victim)) {
+      irccmp(badnick, victim)) {
     /* They kicked me? */
     if (mevictim) {
       /* ... and I'm allowed to take revenge? <snicker> */
@@ -311,7 +311,7 @@
  */
 static void newmask(masklist *m, char *s, char *who)
 {
-  for (; m && m->mask[0] && rfc_casecmp(m->mask, s); m = m->next);
+  for (; m && m->mask[0] && irccmp(m->mask, s); m = m->next);
   if (m->mask[0])
     return;			/* Already existent mask */
 
@@ -335,7 +335,7 @@
 
   old = NULL;
   for (x = chan->channel.member; x && x->nick[0]; old = x, x = x->next)
-    if (!rfc_casecmp(x->nick, nick))
+    if (!irccmp(x->nick, nick))
       break;
   if (!x || !x->nick[0]) {
     if (!channel_pending(chan))
@@ -902,8 +902,8 @@
   default:
     break;
   }
-  /* Update all rfc_ function pointers */
-  add_hook(HOOK_RFC_CASECMP, (Function) rfc_compliant);
+  /* Update irccmp function pointers */
+  add_hook(HOOK_IRCCMP, (Function) rfc_compliant);
 }
 
 static char *traced_nettype(ClientData cdata, Tcl_Interp *irp, char *name1,
@@ -916,11 +916,11 @@
 static char *traced_rfccompliant(ClientData cdata, Tcl_Interp *irp,
 				 char *name1, char *name2, int flags)
 {
-  /* This hook forces eggdrop core to change the rfc_ match function
-   * links to point to the rfc compliant versions if rfc_compliant
-   * is 1, or to the normal version if it's 0.
+  /* This hook forces eggdrop core to change the irccmp match
+   * function links to point to the rfc compliant versions if
+   * rfc_compliant is 1, or to the normal version if it's 0.
    */
-  add_hook(HOOK_RFC_CASECMP, (Function) rfc_compliant);
+  add_hook(HOOK_IRCCMP, (Function) rfc_compliant);
   return NULL;
 }
 
Index: eggdrop1.7/src/mod/irc.mod/mode.c
diff -u eggdrop1.7/src/mod/irc.mod/mode.c:1.52 eggdrop1.7/src/mod/irc.mod/mode.c:1.53
--- eggdrop1.7/src/mod/irc.mod/mode.c:1.52	Thu Oct 11 06:34:20 2001
+++ eggdrop1.7/src/mod/irc.mod/mode.c	Thu Oct 11 13:24:02 2001
@@ -4,7 +4,7 @@
  *   channel mode changes and the bot's reaction to them
  *   setting and getting the current wanted channel modes
  *
- * $Id: mode.c,v 1.52 2001/10/11 11:34:20 tothwolf Exp $
+ * $Id: mode.c,v 1.53 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -275,7 +275,7 @@
     /* op-type mode change */
     for (i = 0; i < modesperline; i++)
       if (chan->cmode[i].type == type && chan->cmode[i].op != NULL &&
-	  !rfc_casecmp(chan->cmode[i].op, op))
+	  !irccmp(chan->cmode[i].op, op))
 	return;			/* Already in there :- duplicate */
     l = strlen(op) + 1;
     if (chan->bytes + l > mode_buf_len)
@@ -503,7 +503,7 @@
     else if (chan_op(victim) || chan_friend(victim))
       ok = 0;
     if (!ok && !match_my_nick(nick) &&
-       rfc_casecmp(who, nick) && had_op &&
+       irccmp(who, nick) && had_op &&
 	!match_my_nick(who)) {	/* added 25mar1996, robey */
       /* Do we want to reop? */
       /* Is the deopper NOT a master or bot? */
@@ -677,7 +677,7 @@
   masklist *b, *old;
 
   old = NULL;
-  for (b = chan->channel.ban; b->mask[0] && rfc_casecmp(b->mask, who);
+  for (b = chan->channel.ban; b->mask[0] && irccmp(b->mask, who);
        old = b, b = b->next)
     ;
   if (b->mask[0]) {
@@ -742,7 +742,7 @@
   masklist *b ;
   int match = 0;
 
-  while (e && e->mask[0] && rfc_casecmp(e->mask, who)) {
+  while (e && e->mask[0] && irccmp(e->mask, who)) {
     old = e;
     e = e->next;
   }
@@ -818,7 +818,7 @@
 {
   masklist *inv = chan->channel.invite, *old = NULL;
 
-  while (inv->mask[0] && rfc_casecmp(inv->mask, who)) {
+  while (inv->mask[0] && irccmp(inv->mask, who)) {
     old = inv;
     inv = inv->next;
   }
Index: eggdrop1.7/src/mod/irc.mod/msgcmds.c
diff -u eggdrop1.7/src/mod/irc.mod/msgcmds.c:1.29 eggdrop1.7/src/mod/irc.mod/msgcmds.c:1.30
--- eggdrop1.7/src/mod/irc.mod/msgcmds.c:1.29	Wed Oct 10 05:44:07 2001
+++ eggdrop1.7/src/mod/irc.mod/msgcmds.c	Thu Oct 11 13:24:02 2001
@@ -2,7 +2,7 @@
  * msgcmds.c -- part of irc.mod
  *   all commands entered via /MSG
  *
- * $Id: msgcmds.c,v 1.29 2001/10/10 10:44:07 tothwolf Exp $
+ * $Id: msgcmds.c,v 1.30 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -194,7 +194,7 @@
     if (u && !quiet_reject) {
       dprintf(DP_HELP, _("NOTICE %s :Youre not %s, youre %s.\n"), nick, nick, u->handle);
     }
-  } else if (rfc_casecmp(who, origbotname) && !(u2->flags & USER_BOT)) {
+  } else if (irccmp(who, origbotname) && !(u2->flags & USER_BOT)) {
     /* This could be used as detection... */
     if (u_pass_match(u2, "-")) {
       putlog(LOG_CMDS, "*", "(%s!%s) !*! IDENT %s", nick, host, who);
@@ -258,7 +258,7 @@
   if (!par[0]) {
     if (!quiet_reject)
       dprintf(DP_HELP, "NOTICE %s :You must supply a hostmask\n", nick);
-  } else if (rfc_casecmp(u->handle, origbotname)) {
+  } else if (irccmp(u->handle, origbotname)) {
     /* This could be used as detection... */
     if (u_pass_match(u, "-")) {
       if (!quiet_reject)
Index: eggdrop1.7/src/mod/module.h
diff -u eggdrop1.7/src/mod/module.h:1.61 eggdrop1.7/src/mod/module.h:1.62
--- eggdrop1.7/src/mod/module.h:1.61	Wed Oct 10 13:37:54 2001
+++ eggdrop1.7/src/mod/module.h	Thu Oct 11 13:24:02 2001
@@ -1,7 +1,7 @@
 /*
  * module.h
  *
- * $Id: module.h,v 1.61 2001/10/10 18:37:54 stdarg Exp $
+ * $Id: module.h,v 1.62 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -354,8 +354,8 @@
 /* 216 - 219 */
 /* 216: min_dcc_port -- UNUSED (guppy) */
 /* 217: max_dcc_port -- UNUSED (guppy) */
-#define rfc_casecmp ((int(*)(char *, char *))(*(Function**)(global[218])))
-#define rfc_ncasecmp ((int(*)(char *, char *, int *))(*(Function**)(global[219])))
+#define irccmp ((int(*)(char *, char *))(*(Function**)(global[218])))
+#define ircncmp ((int(*)(char *, char *, int *))(*(Function**)(global[219])))
 /* 220 - 223 */
 #define global_exempts (*(maskrec **)(global[220]))
 #define global_invites (*(maskrec **)(global[221]))
Index: eggdrop1.7/src/mod/modvals.h
diff -u eggdrop1.7/src/mod/modvals.h:1.23 eggdrop1.7/src/mod/modvals.h:1.24
--- eggdrop1.7/src/mod/modvals.h:1.23	Wed Oct 10 05:44:05 2001
+++ eggdrop1.7/src/mod/modvals.h	Thu Oct 11 13:24:02 2001
@@ -1,7 +1,7 @@
 /*
  * modvals.h
  *
- * $Id: modvals.h,v 1.23 2001/10/10 10:44:05 tothwolf Exp $
+ * $Id: modvals.h,v 1.24 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -48,7 +48,7 @@
 #define HOOK_QSERV		108
 #define HOOK_ADD_MODE		109
 #define HOOK_MATCH_NOTEREJ	110
-#define HOOK_RFC_CASECMP	111
+#define HOOK_IRCCMP		111
 #define HOOK_DNS_HOSTBYIP	112
 #define HOOK_DNS_IPBYHOST	113
 #define HOOK_ENCRYPT_STRING     114
Index: eggdrop1.7/src/mod/server.mod/server.c
diff -u eggdrop1.7/src/mod/server.mod/server.c:1.84 eggdrop1.7/src/mod/server.mod/server.c:1.85
--- eggdrop1.7/src/mod/server.mod/server.c:1.84	Thu Oct 11 06:34:20 2001
+++ eggdrop1.7/src/mod/server.mod/server.c	Thu Oct 11 13:24:03 2001
@@ -2,7 +2,7 @@
  * server.c -- part of server.mod
  *   basic irc server support
  *
- * $Id: server.c,v 1.84 2001/10/11 11:34:20 tothwolf Exp $
+ * $Id: server.c,v 1.85 2001/10/11 18:24:03 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -1131,7 +1131,7 @@
         	   TCL_TRACE_UNSETS, nick_change, cdata);
   } else {			/* writes */
     new = Tcl_GetVar2(interp, name1, name2, TCL_GLOBAL_ONLY);
-    if (rfc_casecmp(origbotname, new)) {
+    if (irccmp(origbotname, new)) {
       if (origbotname[0]) {
 	putlog(LOG_MISC, "*", "* IRC NICK CHANGE: %s -> %s",
 	       origbotname, new);
@@ -1548,8 +1548,8 @@
     fatal("NO BOT NAME.", 0);
   if (serverlist == NULL)
     fatal("NO SERVER.", 0);
-    if (oldnick[0] && !rfc_casecmp(oldnick, botname)
-       && !rfc_casecmp(oldnick, get_altbotnick())) {
+    if (oldnick[0] && !irccmp(oldnick, botname)
+       && !irccmp(oldnick, get_altbotnick())) {
     /* Change botname back, don't be premature. */
     strcpy(botname, oldnick);
     dprintf(DP_SERVER, "NICK %s\n", origbotname);
Index: eggdrop1.7/src/mod/server.mod/servmsg.c
diff -u eggdrop1.7/src/mod/server.mod/servmsg.c:1.69 eggdrop1.7/src/mod/server.mod/servmsg.c:1.70
--- eggdrop1.7/src/mod/server.mod/servmsg.c:1.69	Thu Oct 11 06:34:21 2001
+++ eggdrop1.7/src/mod/server.mod/servmsg.c	Thu Oct 11 13:24:03 2001
@@ -1,7 +1,7 @@
 /*
  * servmsg.c -- part of server.mod
  *
- * $Id: servmsg.c,v 1.69 2001/10/11 11:34:21 tothwolf Exp $
+ * $Id: servmsg.c,v 1.70 2001/10/11 18:24:03 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -50,7 +50,7 @@
   if (altnick_char == 0) {
     char *alt = get_altbotnick();
 
-    if (alt[0] && (rfc_casecmp(alt, botname)))
+    if (alt[0] && (irccmp(alt, botname)))
       /* Alternate nickname defined. Let's try that first. */
       strcpy(botname, alt);
     else {
@@ -169,7 +169,7 @@
 
 static int match_my_nick(char *nick)
 {
-  if (!rfc_casecmp(nick, botname))
+  if (!irccmp(nick, botname))
     return 1;
   return 0;
 }
@@ -661,18 +661,18 @@
   fixcolon(msg);
   alt = get_altbotnick();
   tmp = newsplit(&msg);
-  if (tmp[0] && !rfc_casecmp(botname, tmp)) {
+  if (tmp[0] && !irccmp(botname, tmp)) {
     while ((tmp = newsplit(&msg))[0]) { /* no, it's NOT == */
-      if (!rfc_casecmp(tmp, origbotname))
+      if (!irccmp(tmp, origbotname))
         ison_orig = 1;
-      else if (alt[0] && !rfc_casecmp(tmp, alt))
+      else if (alt[0] && !irccmp(tmp, alt))
         ison_alt = 1;
     }
     if (!ison_orig) {
       if (!nick_juped)
         putlog(LOG_MISC, "*", _("Switching back to nick %s"), origbotname);
       dprintf(DP_SERVER, "NICK %s\n", origbotname);
-    } else if (alt[0] && !ison_alt && rfc_casecmp(botname, alt)) {
+    } else if (alt[0] && !ison_alt && irccmp(botname, alt)) {
       putlog(LOG_MISC, "*", _("Switching back to altnick %s"), alt);
       dprintf(DP_SERVER, "NICK %s\n", alt);
     }
@@ -745,7 +745,7 @@
   } else if (server_online) {
     if (!nick_juped)
       putlog(LOG_MISC, "*", "NICK IS JUPED: %s (keeping '%s').", s, botname);
-    if (!rfc_casecmp(s, origbotname))
+    if (!irccmp(s, origbotname))
       nick_juped = 1;
   } else {
     putlog(LOG_MISC, "*", "%s: %s", _("Nickname has been juped"), s);
@@ -817,22 +817,22 @@
 	     msg);
     else if (keepnick && strcmp(nick, msg)) {
       putlog(LOG_SERV | LOG_MISC, "*", "Nickname changed to '%s'???", msg);
-      if (!rfc_casecmp(nick, origbotname)) {
+      if (!irccmp(nick, origbotname)) {
         putlog(LOG_MISC, "*", _("Switching back to nick %s"), origbotname);
         dprintf(DP_SERVER, "NICK %s\n", origbotname);
-      } else if (alt[0] && !rfc_casecmp(nick, alt)
+      } else if (alt[0] && !irccmp(nick, alt)
 		 && egg_strcasecmp(botname, origbotname)) {
         putlog(LOG_MISC, "*", _("Switching back to altnick %s"), alt);
         dprintf(DP_SERVER, "NICK %s\n", alt);
       }
     } else
       putlog(LOG_SERV | LOG_MISC, "*", "Nickname changed to '%s'???", msg);
-  } else if ((keepnick) && (rfc_casecmp(nick, msg))) {
+  } else if ((keepnick) && (irccmp(nick, msg))) {
     /* Only do the below if there was actual nick change, case doesn't count */
-    if (!rfc_casecmp(nick, origbotname)) {
+    if (!irccmp(nick, origbotname)) {
       putlog(LOG_MISC, "*", _("Switching back to nick %s"), origbotname);
       dprintf(DP_SERVER, "NICK %s\n", origbotname);
-    } else if (alt[0] && !rfc_casecmp(nick, alt) &&
+    } else if (alt[0] && !irccmp(nick, alt) &&
 	    egg_strcasecmp(botname, origbotname)) {
       putlog(LOG_MISC, "*", _("Switching back to altnick %s"), altnick);
       dprintf(DP_SERVER, "NICK %s\n", altnick);
@@ -970,7 +970,7 @@
   char *nick;
 
   nick = from;
-  if (rfc_casecmp(nick, botname))
+  if (irccmp(nick, botname))
     /* Not my kick, I don't need to bother about it. */
     return 0;
   if (use_penalties) {
Index: eggdrop1.7/src/mod/share.mod/share.c
diff -u eggdrop1.7/src/mod/share.mod/share.c:1.61 eggdrop1.7/src/mod/share.mod/share.c:1.62
--- eggdrop1.7/src/mod/share.mod/share.c:1.61	Wed Oct 10 13:37:55 2001
+++ eggdrop1.7/src/mod/share.mod/share.c	Thu Oct 11 13:24:03 2001
@@ -1,7 +1,7 @@
 /*
  * share.c -- part of share.mod
  *
- * $Id: share.c,v 1.61 2001/10/10 18:37:55 stdarg Exp $
+ * $Id: share.c,v 1.62 2001/10/11 18:24:03 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -1843,7 +1843,7 @@
 	  } else {
 	    /* Shared channel, still keep old laston time */
 	    for (cr_old = u->chanrec; cr_old; cr_old = cr_old->next)
-	      if (!rfc_casecmp(cr_old->channel, cr->channel)) {
+	      if (!irccmp(cr_old->channel, cr->channel)) {
 		cr_old->laston = cr->laston;
 		break;
 	      }
Index: eggdrop1.7/src/mod/transfer.mod/transfer.c
diff -u eggdrop1.7/src/mod/transfer.mod/transfer.c:1.47 eggdrop1.7/src/mod/transfer.mod/transfer.c:1.48
--- eggdrop1.7/src/mod/transfer.mod/transfer.c:1.47	Thu Oct 11 08:01:36 2001
+++ eggdrop1.7/src/mod/transfer.mod/transfer.c	Thu Oct 11 13:24:03 2001
@@ -1,7 +1,7 @@
 /*
  * transfer.c -- part of transfer.mod
  *
- * $Id: transfer.c,v 1.47 2001/10/11 13:01:36 tothwolf Exp $
+ * $Id: transfer.c,v 1.48 2001/10/11 18:24:03 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -1796,7 +1796,7 @@
   /* Search for existing SEND */
   for (i = 0; i < dcc_total; i++)
     if ((dcc[i].type == &DCC_GET_PENDING) &&
-	(!rfc_casecmp(dcc[i].nick, nick)) && (dcc[i].port == port))
+	(!irccmp(dcc[i].nick, nick)) && (dcc[i].port == port))
       break;
   /* No matching transfer found? */
   if (i == dcc_total)
Index: eggdrop1.7/src/modules.c
diff -u eggdrop1.7/src/modules.c:1.64 eggdrop1.7/src/modules.c:1.65
--- eggdrop1.7/src/modules.c:1.64	Wed Oct 10 13:37:54 2001
+++ eggdrop1.7/src/modules.c	Thu Oct 11 13:24:01 2001
@@ -4,7 +4,7 @@
  * 
  * by Darrin Smith (beldin at light.iinet.net.au)
  * 
- * $Id: modules.c,v 1.64 2001/10/10 18:37:54 stdarg Exp $
+ * $Id: modules.c,v 1.65 2001/10/11 18:24:01 tothwolf Exp $
  */
 /* 
  * Copyright (C) 1997  Robey Pointer
@@ -136,10 +136,10 @@
 void (*qserver) (int, char *, int) = (void (*)(int, char *, int)) null_func;
 void (*add_mode) () = null_func;
 int (*match_noterej) (struct userrec *, char *) = (int (*)(struct userrec *, char *)) false_func;
-int (*rfc_casecmp) (const char *, const char *) = _rfc_casecmp;
-int (*rfc_ncasecmp) (const char *, const char *, int) = _rfc_ncasecmp;
-int (*rfc_toupper) (int) = _rfc_toupper;
-int (*rfc_tolower) (int) = _rfc_tolower;
+int (*irccmp) (const char *, const char *) = _irccmp;
+int (*ircncmp) (const char *, const char *, int) = _ircncmp;
+int (*irctolower) (int) = _irctolower;
+int (*irctoupper) (int) = _irctoupper;
 
 module_entry *module_list;
 dependancy *dependancy_list = NULL;
@@ -428,8 +428,8 @@
   /* 216 - 219 */
   (Function) 0,			/* min_dcc_port -- UNUSED! (guppy)	*/
   (Function) 0,			/* max_dcc_port -- UNUSED! (guppy)	*/
-  (Function) & rfc_casecmp,	/* Function *				*/
-  (Function) & rfc_ncasecmp,	/* Function *				*/
+  (Function) & irccmp,		/* Function *				*/
+  (Function) & ircncmp,		/* Function *				*/
   /* 220 - 223 */
   (Function) & global_exempts,	/* struct exemptrec *			*/
   (Function) & global_invites,	/* struct inviterec *			*/
@@ -789,17 +789,18 @@
 	add_mode = (void (*)()) func;
       break;
     /* special hook <drummer> */
-    case HOOK_RFC_CASECMP:
+    case HOOK_IRCCMP:
       if (func == NULL) {
-	rfc_casecmp = egg_strcasecmp;
-	rfc_ncasecmp = (int (*)(const char *, const char *, int)) egg_strncasecmp;
-	rfc_tolower = tolower;
-	rfc_toupper = toupper;
+	irccmp = egg_strcasecmp;
+	ircncmp = (int (*)(const char *, const char *, int)) egg_strncasecmp;
+	irctolower = tolower;
+	irctoupper = toupper;
       } else {
-	rfc_casecmp = _rfc_casecmp;
-	rfc_ncasecmp = _rfc_ncasecmp;
-	rfc_tolower = _rfc_tolower;
-	rfc_toupper = _rfc_toupper;
+	irccmp = _irccmp;
+	ircncmp = _ircncmp;
+	irctolower = _irctolower;
+	irctoupper = _irctoupper;
+
       }
       break;
     case HOOK_MATCH_NOTEREJ:
Index: eggdrop1.7/src/proto.h
diff -u eggdrop1.7/src/proto.h:1.52 eggdrop1.7/src/proto.h:1.53
--- eggdrop1.7/src/proto.h:1.52	Wed Oct 10 05:44:04 2001
+++ eggdrop1.7/src/proto.h	Thu Oct 11 13:24:01 2001
@@ -7,7 +7,7 @@
  * because they use structures in those
  * (saves including those .h files EVERY time) - Beldin
  *
- * $Id: proto.h,v 1.52 2001/10/10 10:44:04 tothwolf Exp $
+ * $Id: proto.h,v 1.53 2001/10/11 18:24:01 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -34,6 +34,9 @@
 #include "lush.h"
 #include "misc_file.h"
 
+#include "irccmp.h"
+#include "match.h"
+
 #ifdef HAVE_DPRINTF
 #define dprintf dprintf_eggdrop
 #endif
@@ -50,11 +53,9 @@
 extern void (*encrypt_pass) (char *, char *);
 extern char *(*encrypt_string) (char *, char *);
 extern char *(*decrypt_string) (char *, char *);
-extern int (*rfc_casecmp) (const char *, const char *);
-extern int (*rfc_ncasecmp) (const char *, const char *, int);
-extern int (*rfc_toupper) (int);
-extern int (*rfc_tolower) (int);
 extern int (*match_noterej) (struct userrec *, char *);
+extern int (*irccmp)(const char *, const char *);
+extern int (*ircncmp)(const char *, const char *, int);
 #endif
 
 /* botcmd.c */
@@ -169,10 +170,6 @@
 void eggAssert(const char *, int, const char *);
 void backup_userfile(void);
 
-/* match.c */
-int wild_match(register unsigned char *, register unsigned char *);
-int wild_match_per(register unsigned char *, register unsigned char *);
-
 /* misc.c */
 int egg_strcatn(char *dst, const char *src, size_t max);
 int my_strcpy(char *, char *);
@@ -283,11 +280,5 @@
 void tell_user_ident(int, char *, int);
 void tell_users_match(int, char *, int, int, int, char *);
 int readuserfile(char *, struct userrec **);
-
-/* rfc1459.c */
-int _rfc_casecmp(const char *, const char *);
-int _rfc_ncasecmp(const char *, const char *, int);
-int _rfc_toupper(int);
-int _rfc_tolower(int);
 
 #endif				/* _EGG_PROTO_H */
Index: eggdrop1.7/src/rfc1459.c
diff -u eggdrop1.7/src/rfc1459.c:1.4 eggdrop1.7/src/rfc1459.c:removed
--- eggdrop1.7/src/rfc1459.c:1.4	Sun Dec 10 09:10:27 2000
+++ eggdrop1.7/src/rfc1459.c	Thu Oct 11 13:24:14 2001
@@ -1,138 +0,0 @@
-/* 
- * rfc1459.c
- * 
- * $Id: rfc1459.c,v 1.4 2000/12/10 15:10:27 guppy Exp $
- */
-/* 
- * This code was more or less cloned from the ircd-hybrid 5.3 source.
- * The original code was written by Otto Harkoonen and even though it
- * it not entirely in synch with section 2.2 of RFC1459 in that it
- * additionally defines carat as an uppercase version of tilde, it's
- * what is in the servers themselves so we're going with it this way.
- * 
- * If for some reason someone who maintains the source for ircd decides
- * to change the code to be completely RFC compliant, the change here
- * would be absolutely miniscule.
- * 
- * BTW, since carat characters are allowed in nicknames and tildes are
- * not, I stronly suggest that people convert to uppercase when doing
- * comparisons or creation of hash elements (which tcl laughably calls
- * arrays) to avoid making entries with impossible nicknames in them.
- * 
- * --+ Dagmar
- */
-
-#include "main.h"
-
-int _rfc_casecmp(const char *s1, const char *s2)
-{
-  register unsigned char *str1 = (unsigned char *) s1;
-  register unsigned char *str2 = (unsigned char *) s2;
-  register int res;
-
-  while (!(res = rfc_toupper(*str1) - rfc_toupper(*str2))) {
-    if (*str1 == '\0')
-      return 0;
-    str1++;
-    str2++;
-  }
-  return (res);
-}
-
-int _rfc_ncasecmp(const char *str1, const char *str2, int n)
-{
-  register unsigned char *s1 = (unsigned char *) str1;
-  register unsigned char *s2 = (unsigned char *) str2;
-  register int res;
-
-  while (!(res = rfc_toupper(*s1) - rfc_toupper(*s2))) {
-    s1++;
-    s2++;
-    n--;
-    if (!n || (*s1 == '\0' && *s2 == '\0'))
-      return 0;
-  }
-  return (res);
-}
-
-unsigned char rfc_tolowertab[];
-unsigned char rfc_touppertab[];
-
-int _rfc_tolower(int c)
-{
-  return rfc_tolowertab[(unsigned char)(c)];
-}
-
-int _rfc_toupper(int c)
-{
-  return rfc_touppertab[(unsigned char)(c)];
-}
-
-unsigned char rfc_tolowertab[] =
-{0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa,
- 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14,
- 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
- 0x1e, 0x1f,
- ' ', '!', '"', '#', '$', '%', '&', 0x27, '(', ')',
- '*', '+', ',', '-', '.', '/',
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- ':', ';', '<', '=', '>', '?',
- '@', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
- 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
- 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
- '_',
- '`', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i',
- 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's',
- 't', 'u', 'v', 'w', 'x', 'y', 'z', '{', '|', '}', '~',
- 0x7f,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
- 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
- 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
- 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
- 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9,
- 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
- 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
- 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
- 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9,
- 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
- 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
- 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
- 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
- 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
- 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9,
- 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff};
-
-unsigned char rfc_touppertab[] =
-{0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xa,
- 0xb, 0xc, 0xd, 0xe, 0xf, 0x10, 0x11, 0x12, 0x13, 0x14,
- 0x15, 0x16, 0x17, 0x18, 0x19, 0x1a, 0x1b, 0x1c, 0x1d,
- 0x1e, 0x1f,
- ' ', '!', '"', '#', '$', '%', '&', 0x27, '(', ')',
- '*', '+', ',', '-', '.', '/',
- '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
- ':', ';', '<', '=', '>', '?',
- '@', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
- 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
- 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^',
- 0x5f,
- '`', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I',
- 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S',
- 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', '[', '\\', ']', '^',
- 0x7f,
- 0x80, 0x81, 0x82, 0x83, 0x84, 0x85, 0x86, 0x87, 0x88, 0x89,
- 0x8a, 0x8b, 0x8c, 0x8d, 0x8e, 0x8f,
- 0x90, 0x91, 0x92, 0x93, 0x94, 0x95, 0x96, 0x97, 0x98, 0x99,
- 0x9a, 0x9b, 0x9c, 0x9d, 0x9e, 0x9f,
- 0xa0, 0xa1, 0xa2, 0xa3, 0xa4, 0xa5, 0xa6, 0xa7, 0xa8, 0xa9,
- 0xaa, 0xab, 0xac, 0xad, 0xae, 0xaf,
- 0xb0, 0xb1, 0xb2, 0xb3, 0xb4, 0xb5, 0xb6, 0xb7, 0xb8, 0xb9,
- 0xba, 0xbb, 0xbc, 0xbd, 0xbe, 0xbf,
- 0xc0, 0xc1, 0xc2, 0xc3, 0xc4, 0xc5, 0xc6, 0xc7, 0xc8, 0xc9,
- 0xca, 0xcb, 0xcc, 0xcd, 0xce, 0xcf,
- 0xd0, 0xd1, 0xd2, 0xd3, 0xd4, 0xd5, 0xd6, 0xd7, 0xd8, 0xd9,
- 0xda, 0xdb, 0xdc, 0xdd, 0xde, 0xdf,
- 0xe0, 0xe1, 0xe2, 0xe3, 0xe4, 0xe5, 0xe6, 0xe7, 0xe8, 0xe9,
- 0xea, 0xeb, 0xec, 0xed, 0xee, 0xef,
- 0xf0, 0xf1, 0xf2, 0xf3, 0xf4, 0xf5, 0xf6, 0xf7, 0xf8, 0xf9,
- 0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff};
-
Index: eggdrop1.7/src/userent.c
diff -u eggdrop1.7/src/userent.c:1.23 eggdrop1.7/src/userent.c:1.24
--- eggdrop1.7/src/userent.c:1.23	Thu Oct 11 06:34:19 2001
+++ eggdrop1.7/src/userent.c	Thu Oct 11 13:24:01 2001
@@ -2,7 +2,7 @@
  * userent.c -- handles:
  *   user-entry handling, new stylem more versatile.
  *
- * $Id: userent.c,v 1.23 2001/10/11 11:34:19 tothwolf Exp $
+ * $Id: userent.c,v 1.24 2001/10/11 18:24:01 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -349,7 +349,7 @@
   BADARGS(3, 4, " handle LASTON ?channel?");
   if (argc == 4) {
     for (cr = u->chanrec; cr; cr = cr->next)
-      if (!rfc_casecmp(cr->channel, argv[3])) {
+      if (!irccmp(cr->channel, argv[3])) {
 	Tcl_AppendResult(irp, int_to_base10(cr->laston), NULL);
 	break;
       }
@@ -373,7 +373,7 @@
   if ((argc == 5) && argv[4][0] && strchr(CHANMETA, argv[4][0])) {
     /* Search for matching channel */
     for (cr = u->chanrec; cr; cr = cr->next)
-      if (!rfc_casecmp(cr->channel, argv[4])) {
+      if (!irccmp(cr->channel, argv[4])) {
 	cr->laston = atoi(argv[3]);
 	break;
       }
Index: eggdrop1.7/src/userrec.c
diff -u eggdrop1.7/src/userrec.c:1.34 eggdrop1.7/src/userrec.c:1.35
--- eggdrop1.7/src/userrec.c:1.34	Wed Oct 10 05:44:04 2001
+++ eggdrop1.7/src/userrec.c	Thu Oct 11 13:24:01 2001
@@ -4,7 +4,7 @@
  *   a bunch of functions to find and change user records
  *   change and check user (and channel-specific) flags
  *
- * $Id: userrec.c,v 1.34 2001/10/10 10:44:04 tothwolf Exp $
+ * $Id: userrec.c,v 1.35 2001/10/11 18:24:01 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -253,7 +253,7 @@
 
   for (u = userlist; u; u = u->next)
     for (q = get_user(&USERENTRY_HOSTS, u); q; q = q->next)
-      if (!rfc_casecmp(q->extra, host))
+      if (!irccmp(q->extra, host))
 	return u;
   return NULL;
 }
@@ -640,7 +640,7 @@
   q = get_user(&USERENTRY_HOSTS, u);
   qprev = q;
   if (q) {
-    if (!rfc_casecmp(q->extra, host)) {
+    if (!irccmp(q->extra, host)) {
       e = find_user_entry(&USERENTRY_HOSTS, u);
       e->u.extra = q->next;
       free(q->extra);
@@ -652,7 +652,7 @@
       q = q->next;
     while (q) {
       qnext = q->next;
-      if (!rfc_casecmp(q->extra, host)) {
+      if (!irccmp(q->extra, host)) {
 	if (qprev)
 	  qprev->next = q->next;
 	else if (e) {
@@ -727,7 +727,7 @@
 
   for (chan = chanset; chan; chan = chan->next) {
     for (m = chan->channel.member; m && m->nick[0] ;m = m->next) {
-      if (!rfc_casecmp(nick, m->nick)) {
+      if (!irccmp(nick, m->nick)) {
   	char word[512];
 
 	egg_snprintf(word, sizeof word, "%s!%s", m->nick, m->userhost);
@@ -749,7 +749,7 @@
     ch = u->chanrec;
     och = NULL;
     while (ch) {
-      if (!rfc_casecmp(dname, ch->channel)) {
+      if (!irccmp(dname, ch->channel)) {
 	if (och)
 	  och->next = ch->next;
 	else
Index: eggdrop1.7/src/users.c
diff -u eggdrop1.7/src/users.c:1.29 eggdrop1.7/src/users.c:1.30
--- eggdrop1.7/src/users.c:1.29	Wed Oct 10 05:44:04 2001
+++ eggdrop1.7/src/users.c	Thu Oct 11 13:24:02 2001
@@ -10,7 +10,7 @@
  *
  * dprintf'ized, 9nov1995
  *
- * $Id: users.c,v 1.29 2001/10/10 10:44:04 tothwolf Exp $
+ * $Id: users.c,v 1.30 2001/10/11 18:24:02 tothwolf Exp $
  */
 /*
  * Copyright (C) 1997 Robey Pointer
@@ -73,7 +73,7 @@
   struct igrec *u = global_ign;
 
   for (; u; u = u->next)
-    if (!rfc_casecmp(u->igmask, uhost)) {
+    if (!irccmp(u->igmask, uhost)) {
       if (u->flags & IGREC_PERM)
 	return 2;
       else
@@ -98,7 +98,7 @@
   } else {
     /* find the matching host, if there is one */
     for (u = &global_ign; *u && !i; u = &((*u)->next))
-      if (!rfc_casecmp(ign, (*u)->igmask)) {
+      if (!irccmp(ign, (*u)->igmask)) {
 	i = 1;
 	break;
       }
@@ -749,7 +749,7 @@
 	    break_down_flags(fl, &fr, 0);
 	    if (findchan_by_dname(chname)) {
 	      for (cr = u->chanrec; cr; cr = cr->next)
-		if (!rfc_casecmp(cr->channel, chname))
+		if (!irccmp(cr->channel, chname))
 		  break;
 	      if (!cr) {
 		cr = (struct chanuserrec *)
@@ -876,16 +876,16 @@
 	      list_insert((&u->entries), ue);
 	    }
 	  }
-	} else if (!rfc_casecmp(code, BAN_NAME)) {
+	} else if (!irccmp(code, BAN_NAME)) {
 	  strcpy(lasthand, code);
 	  u = NULL;
-	} else if (!rfc_casecmp(code, IGNORE_NAME)) {
+	} else if (!irccmp(code, IGNORE_NAME)) {
 	  strcpy(lasthand, code);
 	  u = NULL;
-	} else if (!rfc_casecmp(code, EXEMPT_NAME)) {
+	} else if (!irccmp(code, EXEMPT_NAME)) {
 	  strcpy(lasthand, code);
 	  u = NULL;
-	} else if (!rfc_casecmp(code, INVITE_NAME)) {
+	} else if (!irccmp(code, INVITE_NAME)) {
 	  strcpy(lasthand, code);
 	  u = NULL;
 	} else if (code[0] == '*') {
----------------------- End of diff -----------------------



More information about the Changes mailing list