diff options
author | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2014-01-20 18:18:16 +0000 |
---|---|---|
committer | michael <michael@82007160-df01-0410-b94d-b575c5fd34c7> | 2014-01-20 18:18:16 +0000 |
commit | 389b42b9c3bb23fd54ba52d109c1ab79d85b8cad (patch) | |
tree | 61af3096719999c18ed7ae112e21f37718a5e2ce /src | |
parent | 2bd268f2cd19f681ad894c9b1ddd35f0a2e2883c (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.c | 15 |
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; } |