summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2014-01-20 18:18:16 +0000
committermichael <michael@82007160-df01-0410-b94d-b575c5fd34c7>2014-01-20 18:18:16 +0000
commit389b42b9c3bb23fd54ba52d109c1ab79d85b8cad (patch)
tree61af3096719999c18ed7ae112e21f37718a5e2ce /src
parent2bd268f2cd19f681ad894c9b1ddd35f0a2e2883c (diff)
- irc_string.c:has_wildcards(): add support for character escaping
git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@2884 82007160-df01-0410-b94d-b575c5fd34c7
Diffstat (limited to 'src')
-rw-r--r--src/irc_string.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/irc_string.c b/src/irc_string.c
index a25aa86..1dd1ba7 100644
--- a/src/irc_string.c
+++ b/src/irc_string.c
@@ -28,13 +28,20 @@
int
-has_wildcards(const char *s)
+has_wildcards(const char *str)
{
- char c;
+ const unsigned char *p = (const unsigned char *)str;
- while ((c = *s++))
- if (IsMWildChar(c))
+ for (; *p; ++p)
+ {
+ if (*p == '\\')
+ {
+ if (*++p == '\0')
+ return 0;
+ }
+ else if (IsMWildChar(*p))
return 1;
+ }
return 0;
}