/*
* 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
* 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
/*
* 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
/*
* 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
#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 */