From 0ea643ad024cfb9adb6af2d76455f04708b2b8ed Mon Sep 17 00:00:00 2001 From: michael Date: Tue, 30 Apr 2013 13:39:57 +0000 Subject: - Made valid_wild_card_simple() easier to read git-svn-id: svn://svn.ircd-hybrid.org/svnroot/ircd-hybrid/branches/8.1.x@1918 82007160-df01-0410-b94d-b575c5fd34c7 --- src/resv.c | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/resv.c b/src/resv.c index 99861f9..ba208c8 100644 --- a/src/resv.c +++ b/src/resv.c @@ -228,15 +228,22 @@ int valid_wild_card_simple(const char *data) { const unsigned char *p = (const unsigned char *)data; + unsigned char tmpch = '\0'; int nonwild = 0; - while (*p != '\0') + while ((tmpch = *p++)) { - if ((*p == '\\' && *++p) || (*p && !IsMWildChar(*p))) - if (++nonwild == ConfigFileEntry.min_nonwildcard_simple) - return 1; - if (*p != '\0') + if (tmpch == '\\') + { ++p; + if (++nonwild >= ConfigFileEntry.min_nonwildcard_simple) + return 1; + } + else if (!IsMWildChar(tmpch)) + { + if (++nonwild >= ConfigFileEntry.min_nonwildcard_simple) + return 1; + } } return 0; -- cgit