]> jfr.im git - solanum.git/blobdiff - include/match.h
Merge pull request #284 from edk0/drain
[solanum.git] / include / match.h
index 9b6fb882652f2b1989087250f16d745bffd7e6d9..ef7ed8e2cad9a1e6fa35430760d1d02547e6cee3 100644 (file)
@@ -1,6 +1,6 @@
 /*
  *  ircd-ratbox: A slightly useful ircd.
- *  irc_string.h: A header for the ircd string functions.
+ *  match.h: A header for the ircd string functions.
  *
  *  Copyright (C) 1990 Jarkko Oikarinen and University of Oulu, Co Center
  *  Copyright (C) 1996-2002 Hybrid Development Team
@@ -20,8 +20,6 @@
  *  along with this program; if not, write to the Free Software
  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  *  USA
- *
- *  $Id: irc_string.h 3538 2007-07-26 14:21:57Z jilles $
  */
 
 #ifndef INCLUDED_match_h
@@ -48,8 +46,8 @@ extern int match_ips(const char *mask, const char *name);
 /*
  * comp_with_mask - compares to IP address
  */
-int comp_with_mask(void *addr, void *dest, u_int mask);
-int comp_with_mask_sock(struct sockaddr *addr, struct sockaddr *dest, u_int mask);
+int comp_with_mask(void *addr, void *dest, unsigned int mask);
+int comp_with_mask_sock(struct sockaddr *addr, struct sockaddr *dest, unsigned int mask);
 
 /*
  * collapse - collapse a string in place, converts multiple adjacent *'s
@@ -83,13 +81,13 @@ extern char *canonize(char *);
 /*
  * character macros
  */
-extern const unsigned char ToLowerTab[];
-#define ToLower(c) (ToLowerTab[(unsigned char)(c)])
+extern const unsigned char irctolower_tab[];
+#define irctolower(c) (irctolower_tab[(unsigned char)(c)])
 
-extern const unsigned char ToUpperTab[];
-#define ToUpper(c) (ToUpperTab[(unsigned char)(c)])
+extern const unsigned char irctoupper_tab[];
+#define irctoupper(c) (irctoupper_tab[(unsigned char)(c)])
 
-extern const unsigned int CharAttrs[];
+extern unsigned int CharAttrs[];
 
 #define PRINT_C   0x001
 #define CNTRL_C   0x002
@@ -139,4 +137,26 @@ extern const unsigned int CharAttrs[];
 #define IsNonEOS(c) (CharAttrs[(unsigned char)(c)] & NONEOS_C)
 #define IsEol(c) (CharAttrs[(unsigned char)(c)] & EOL_C)
 
+
+/* Below are used for radix trees and the like */
+static inline void irccasecanon(char *str)
+{
+        while (*str)
+        {
+                *str = irctoupper(*str);
+                str++;
+        }
+        return;
+}
+
+static inline void strcasecanon(char *str)
+{
+        while (*str)
+        {
+                *str = toupper((unsigned char)*str);
+                str++;
+        }
+        return;
+}
+
 #endif /* INCLUDED_match_h */