New function MatchCaseInsensitiveList() to check list of patterns
This commit is contained in:
parent
a6dd2e33c2
commit
ab1fcebeff
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* ngIRCd -- The Next Generation IRC Daemon
|
* ngIRCd -- The Next Generation IRC Daemon
|
||||||
* Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
|
* Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -64,17 +64,46 @@ Match( const char *Pattern, const char *String )
|
||||||
/**
|
/**
|
||||||
* Match string with pattern case-insensitive.
|
* Match string with pattern case-insensitive.
|
||||||
*
|
*
|
||||||
* @param pattern Pattern to match with
|
* @param Pattern Pattern to match with
|
||||||
* @param searchme Input string, at most COMMAND_LEN-1 characters long
|
* @param String Input string, at most COMMAND_LEN-1 characters long
|
||||||
* @return true if pattern matches
|
* @return true if pattern matches
|
||||||
*/
|
*/
|
||||||
GLOBAL bool
|
GLOBAL bool
|
||||||
MatchCaseInsensitive(const char *pattern, const char *searchme)
|
MatchCaseInsensitive(const char *Pattern, const char *String)
|
||||||
{
|
{
|
||||||
char haystack[COMMAND_LEN];
|
char haystack[COMMAND_LEN];
|
||||||
|
|
||||||
strlcpy(haystack, searchme, sizeof(haystack));
|
strlcpy(haystack, String, sizeof(haystack));
|
||||||
return Match(pattern, ngt_LowerStr(haystack));
|
return Match(Pattern, ngt_LowerStr(haystack));
|
||||||
|
} /* MatchCaseInsensitive */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Match string with pattern case-insensitive.
|
||||||
|
*
|
||||||
|
* @param pattern Pattern to match with
|
||||||
|
* @param String Input string, at most COMMAND_LEN-1 characters long
|
||||||
|
* @param Separator Character separating the individual patterns in the list
|
||||||
|
* @return true if pattern matches
|
||||||
|
*/
|
||||||
|
GLOBAL bool
|
||||||
|
MatchCaseInsensitiveList(const char *Pattern, const char *String,
|
||||||
|
const char *Separator)
|
||||||
|
{
|
||||||
|
char tmp_pattern[COMMAND_LEN], haystack[COMMAND_LEN], *ptr;
|
||||||
|
|
||||||
|
strlcpy(tmp_pattern, Pattern, sizeof(tmp_pattern));
|
||||||
|
strlcpy(haystack, String, sizeof(haystack));
|
||||||
|
ngt_LowerStr(haystack);
|
||||||
|
|
||||||
|
ptr = strtok(tmp_pattern, Separator);
|
||||||
|
while (ptr) {
|
||||||
|
ngt_TrimStr(ptr);
|
||||||
|
if (Match(ptr, haystack))
|
||||||
|
return true;
|
||||||
|
ptr = strtok(NULL, Separator);
|
||||||
|
}
|
||||||
|
return false;
|
||||||
} /* MatchCaseInsensitive */
|
} /* MatchCaseInsensitive */
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
* ngIRCd -- The Next Generation IRC Daemon
|
* ngIRCd -- The Next Generation IRC Daemon
|
||||||
* Copyright (c)2001,2002 by Alexander Barton (alex@barton.de)
|
* Copyright (c)2001-2012 Alexander Barton (alex@barton.de) and Contributors.
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -18,7 +18,13 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
GLOBAL bool Match PARAMS((const char *Pattern, const char *String));
|
GLOBAL bool Match PARAMS((const char *Pattern, const char *String));
|
||||||
GLOBAL bool MatchCaseInsensitive PARAMS(( const char *Pattern, const char *searchme ));
|
|
||||||
|
GLOBAL bool MatchCaseInsensitive PARAMS((const char *Pattern,
|
||||||
|
const char *String));
|
||||||
|
|
||||||
|
GLOBAL bool MatchCaseInsensitiveList PARAMS((const char *Pattern,
|
||||||
|
const char *String,
|
||||||
|
const char *Separator));
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue