]> jfr.im git - solanum.git/blobdiff - ircd/match.c
strcpy: mass-migrate to strlcpy where appropriate
[solanum.git] / ircd / match.c
index 1c0a59ae264c51bb802f9c540a0532f69c7be173..165baeabc083c59d90b0033e7127bf8b76d2591f 100644 (file)
  *   along with this program; if not, write to the Free Software
  *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: match.c 3532 2007-07-14 13:32:18Z jilles $
- *
  */
 #include "stdinc.h"
-#include "config.h"
+#include "defaults.h"
 #include "client.h"
 #include "ircd.h"
 #include "match.h"
@@ -90,14 +88,14 @@ int match(const char *mask, const char *name)
                                  else
                                  {
                                          m_tmp = m;
-                                         for (n_tmp = n; *n && ToLower(*n) != ToLower(*m); n++);
+                                         for (n_tmp = n; *n && irctolower(*n) != irctolower(*m); n++);
                                  }
                          }
                          /* and fall through */
                  default:
                          if (!*n)
                                  return (*m != '\0' ? 0 : 1);
-                         if (ToLower(*m) != ToLower(*n))
+                         if (irctolower(*m) != irctolower(*n))
                                  goto backtrack;
                          m++;
                          n++;
@@ -162,14 +160,14 @@ int mask_match(const char *mask, const char *name)
                                  else
                                  {
                                          m_tmp = m;
-                                         for (n_tmp = n; *n && ToLower(*n) != ToLower(*m); n++);
+                                         for (n_tmp = n; *n && irctolower(*n) != irctolower(*m); n++);
                                  }
                          }
                          /* and fall through */
                  default:
                          if (!*n)
                                  return (*m != '\0' ? 0 : 1);
-                         if (ToLower(*m) != ToLower(*n))
+                         if (irctolower(*m) != irctolower(*n))
                                  goto backtrack;
                          m++;
                          n++;
@@ -283,7 +281,7 @@ match_esc(const char *mask, const char *name)
                }
 
                if(quote)
-                       match1 = *m == 's' ? *n == ' ' : ToLower(*m) == ToLower(*n);
+                       match1 = *m == 's' ? *n == ' ' : irctolower(*m) == irctolower(*n);
                else if(*m == '?')
                        match1 = 1;
                else if(*m == '@')
@@ -291,7 +289,7 @@ match_esc(const char *mask, const char *name)
                else if(*m == '#')
                        match1 = IsDigit(*n);
                else
-                       match1 = ToLower(*m) == ToLower(*n);
+                       match1 = irctolower(*m) == irctolower(*n);
                if(match1)
                {
                        if(*m)
@@ -310,13 +308,13 @@ match_esc(const char *mask, const char *name)
        return 0;
 }
 
-int comp_with_mask(void *addr, void *dest, u_int mask)
+int comp_with_mask(void *addr, void *dest, unsigned int mask)
 {
        if (memcmp(addr, dest, mask / 8) == 0)
        {
                int n = mask / 8;
                int m = ((-1) << (8 - (mask % 8)));
-               if (mask % 8 == 0 || (((u_char *) addr)[n] & m) == (((u_char *) dest)[n] & m))
+               if (mask % 8 == 0 || (((unsigned char *) addr)[n] & m) == (((unsigned char *) dest)[n] & m))
                {
                        return (1);
                }
@@ -324,7 +322,7 @@ int comp_with_mask(void *addr, void *dest, u_int mask)
        return (0);
 }
 
-int comp_with_mask_sock(struct sockaddr *addr, struct sockaddr *dest, u_int mask)
+int comp_with_mask_sock(struct sockaddr *addr, struct sockaddr *dest, unsigned int mask)
 {
        void *iaddr = NULL;
        void *idest = NULL;
@@ -360,8 +358,8 @@ int match_ips(const char *s1, const char *s2)
        void *ipptr, *maskptr;
        int cidrlen, aftype;
 
-       strcpy(mask, s1);
-       strcpy(address, s2);
+       rb_strlcpy(mask, s1, sizeof(mask));
+       rb_strlcpy(address, s2, sizeof(address));
 
        len = strrchr(mask, '/');
        if (len == NULL)
@@ -424,8 +422,8 @@ int match_cidr(const char *s1, const char *s2)
        void *ipptr, *maskptr;
        int cidrlen, aftype;
 
-       strcpy(mask, s1);
-       strcpy(address, s2);
+       rb_strlcpy(mask, s1, sizeof(mask));
+       rb_strlcpy(address, s2, sizeof(address));
 
        ipmask = strrchr(mask, '@');
        if (ipmask == NULL)
@@ -567,7 +565,7 @@ int irccmp(const char *s1, const char *s2)
        s_assert(s1 != NULL);
        s_assert(s2 != NULL);
 
-       while ((res = ToUpper(*str1) - ToUpper(*str2)) == 0)
+       while ((res = irctoupper(*str1) - irctoupper(*str2)) == 0)
        {
                if (*str1 == '\0')
                        return 0;
@@ -585,7 +583,7 @@ int ircncmp(const char *s1, const char *s2, int n)
        s_assert(s1 != NULL);
        s_assert(s2 != NULL);
 
-       while ((res = ToUpper(*str1) - ToUpper(*str2)) == 0)
+       while ((res = irctoupper(*str1) - irctoupper(*str2)) == 0)
        {
                str1++;
                str2++;
@@ -596,7 +594,7 @@ int ircncmp(const char *s1, const char *s2, int n)
        return (res);
 }
 
-const unsigned char ToLowerTab[] = {
+const unsigned char irctolower_tab[] = {
        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,
@@ -631,7 +629,7 @@ const unsigned char ToLowerTab[] = {
        0xfa, 0xfb, 0xfc, 0xfd, 0xfe, 0xff
 };
 
-const unsigned char ToUpperTab[] = {
+const unsigned char irctoupper_tab[] = {
        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,