Lines Matching refs:pattern

88 #define MATCH_DICTIONARY(pattern) \  argument
89 ((pattern)[0] != '[' && strchr((pattern), ':') != 0)
115 int match_string(MATCH_LIST *list, const char *string, const char *pattern) in match_string() argument
121 msg_info("%s: %s: %s ~? %s", myname, list->pname, string, pattern); in match_string()
126 if (MATCH_DICTIONARY(pattern)) { in match_string()
127 if ((dict = dict_handle(pattern)) == 0) in match_string()
128 msg_panic("%s: unknown dictionary: %s", myname, pattern); in match_string()
141 if (strcmp(string, pattern) == 0) { in match_string()
153 int match_hostname(MATCH_LIST *list, const char *name, const char *pattern) in match_hostname() argument
163 msg_info("%s: %s: %s ~? %s", myname, list->pname, name, pattern); in match_hostname()
170 if (MATCH_DICTIONARY(pattern)) { in match_hostname()
171 if ((dict = dict_handle(pattern)) == 0) in match_hostname()
172 msg_panic("%s: unknown dictionary: %s", myname, pattern); in match_hostname()
199 if (strcmp(name, pattern) == 0) { in match_hostname()
209 pd = name + strlen(name) - strlen(pattern); in match_hostname()
210 if (pd > name && pd[-1] == '.' && strcmp(pd, pattern) == 0) in match_hostname()
212 } else if (pattern[0] == '.') { in match_hostname()
213 pd = name + strlen(name) - strlen(pattern); in match_hostname()
214 if (pd > name && strcmp(pd, pattern) == 0) in match_hostname()
223 int match_hostaddr(MATCH_LIST *list, const char *addr, const char *pattern) in match_hostaddr() argument
233 msg_info("%s: %s: %s ~? %s", myname, list->pname, addr, pattern); in match_hostaddr()
244 if (MATCH_DICTIONARY(pattern)) { in match_hostaddr()
245 if ((dict = dict_handle(pattern)) == 0) in match_hostaddr()
246 msg_panic("%s: unknown dictionary: %s", myname, pattern); in match_hostaddr()
259 if (pattern[0] != '[') { in match_hostaddr()
260 if (strcmp(addr, pattern) == 0) in match_hostaddr()
265 if (strncmp(addr, pattern + 1, addr_len) == 0 in match_hostaddr()
266 && strcmp(pattern + 1 + addr_len, "]") == 0) in match_hostaddr()
290 if (!strchr(addr, ':') != !strchr(pattern, ':') in match_hostaddr()
291 || pattern[strcspn(pattern, ":/")] == 0 in match_hostaddr()
292 || pattern[strspn(pattern, V4_ADDR_STRING_CHARS)] == 0 in match_hostaddr()
293 || pattern[strspn(pattern, V6_ADDR_STRING_CHARS "[]/")] != 0) in match_hostaddr()
303 saved_patt = mystrdup(pattern); in match_hostaddr()