/[svn]/ircd-hybrid-8/src/match.c
ViewVC logotype

Diff of /ircd-hybrid-8/src/match.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1297 by michael, Tue Aug 9 20:29:20 2011 UTC revision 1298 by michael, Tue Feb 28 18:51:13 2012 UTC
# Line 44  Line 44 
44  int  int
45  match(const char *mask, const char *name)  match(const char *mask, const char *name)
46  {  {
47    const unsigned char* m = (const unsigned char *) mask;    const unsigned char *m = (const unsigned char *)mask;
48    const unsigned char* n = (const unsigned char *) name;    const unsigned char *n = (const unsigned char *)name;
49    const unsigned char* ma = NULL;    const unsigned char *ma = NULL;
50    const unsigned char* na = (const unsigned char *) name;    const unsigned char *na = (const unsigned char *)name;
51    
52    assert(mask != NULL);    assert(mask != NULL);
53    assert(name != NULL);    assert(name != NULL);
# Line 72  match(const char *mask, const char *name Line 72  match(const char *mask, const char *name
72          return 1;          return 1;
73        if (!ma)        if (!ma)
74          return 0;          return 0;
75        for (m--; (m > (const unsigned char*) mask) && (*m == '?'); m--)        for (m--; (m > (const unsigned char *)mask) && (*m == '?'); m--)
76          ;          ;
77        if (*m == '*')        if (*m == '*')
78          return 1;          return 1;
# Line 87  match(const char *mask, const char *name Line 87  match(const char *mask, const char *name
87         */         */
88        while (*m == '*')        while (*m == '*')
89          m++;          m++;
90        return (*m == 0);        return *m == 0;
91      }      }
92    
93      if (ToLower(*m) != ToLower(*n) && *m != '?' && (*m != '#' || !IsDigit(*n)))      if (ToLower(*m) != ToLower(*n) && *m != '?' && (*m != '#' || !IsDigit(*n)))
# Line 112  match(const char *mask, const char *name Line 112  match(const char *mask, const char *name
112  int  int
113  match_esc(const char *mask, const char *name)  match_esc(const char *mask, const char *name)
114  {  {
115    const unsigned char *m = (const unsigned char *) mask;    const unsigned char *m = (const unsigned char *)mask;
116    const unsigned char *n = (const unsigned char *) name;    const unsigned char *n = (const unsigned char *)name;
117    const unsigned char *ma = NULL;    const unsigned char *ma = NULL;
118    const unsigned char *na = (const unsigned char *) name;    const unsigned char *na = (const unsigned char *)name;
119    
120    assert(mask != NULL);    assert(mask != NULL);
121    assert(name != NULL);    assert(name != NULL);
# Line 140  match_esc(const char *mask, const char * Line 140  match_esc(const char *mask, const char *
140          return 1;          return 1;
141        if (!ma)        if (!ma)
142          return 0;          return 0;
143        for (m--; (m > (const unsigned char*) mask) && (*m == '?'); m--)        for (m--; (m > (const unsigned char *)mask) && (*m == '?'); m--)
144          ;          ;
145        if (*m == '*')        if (*m == '*')
146          return 1;          return 1;
# Line 155  match_esc(const char *mask, const char * Line 155  match_esc(const char *mask, const char *
155         */         */
156        while (*m == '*')        while (*m == '*')
157          m++;          m++;
158        return (*m == 0);        return *m == 0;
159      }      }
160    
161      if (*m != '?' && (*m != '#' || IsDigit(*n)))      if (*m != '?' && (*m != '#' || IsDigit(*n)))
# Line 263  collapse_esc(char *pattern) Line 263  collapse_esc(char *pattern)
263  int  int
264  irccmp(const char *s1, const char *s2)  irccmp(const char *s1, const char *s2)
265  {  {
266    const unsigned char *str1 = (const unsigned char *) s1;    const unsigned char *str1 = (const unsigned char *)s1;
267    const unsigned char *str2 = (const unsigned char *) s2;    const unsigned char *str2 = (const unsigned char *)s2;
268    
269    assert(s1 != NULL);    assert(s1 != NULL);
270    assert(s2 != NULL);    assert(s2 != NULL);
# Line 273  irccmp(const char *s1, const char *s2) Line 273  irccmp(const char *s1, const char *s2)
273    {    {
274      if (*str1 == '\0')      if (*str1 == '\0')
275        return 0;        return 0;
276      str1++;  
277      str2++;      ++str1;
278        ++str2;
279    }    }
280    
281    return 1;    return 1;

Legend:
Removed from v.1297  
changed lines
  Added in v.1298

svnadmin@ircd-hybrid.org
ViewVC Help
Powered by ViewVC 1.1.30