diff options
Diffstat (limited to 'crypto/openssh/match.c')
| -rw-r--r-- | crypto/openssh/match.c | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/crypto/openssh/match.c b/crypto/openssh/match.c deleted file mode 100644 index 7a63be63fb98..000000000000 --- a/crypto/openssh/match.c +++ /dev/null @@ -1,82 +0,0 @@ -/* - * - * match.c - * - * Author: Tatu Ylonen <ylo@cs.hut.fi> - * - * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland - * All rights reserved - * - * Created: Thu Jun 22 01:17:50 1995 ylo - * - * Simple pattern matching, with '*' and '?' as wildcards. - * - */ - -#include "includes.h" -RCSID("$Id: match.c,v 1.4 1999/11/24 19:53:48 markus Exp $"); - -#include "ssh.h" - -/* - * Returns true if the given string matches the pattern (which may contain ? - * and * as wildcards), and zero if it does not match. - */ - -int -match_pattern(const char *s, const char *pattern) -{ - for (;;) { - /* If at end of pattern, accept if also at end of string. */ - if (!*pattern) - return !*s; - - if (*pattern == '*') { - /* Skip the asterisk. */ - pattern++; - - /* If at end of pattern, accept immediately. */ - if (!*pattern) - return 1; - - /* If next character in pattern is known, optimize. */ - if (*pattern != '?' && *pattern != '*') { - /* - * Look instances of the next character in - * pattern, and try to match starting from - * those. - */ - for (; *s; s++) - if (*s == *pattern && - match_pattern(s + 1, pattern + 1)) - return 1; - /* Failed. */ - return 0; - } - /* - * Move ahead one character at a time and try to - * match at each position. - */ - for (; *s; s++) - if (match_pattern(s, pattern)) - return 1; - /* Failed. */ - return 0; - } - /* - * There must be at least one more character in the string. - * If we are at the end, fail. - */ - if (!*s) - return 0; - - /* Check if the next character of the string is acceptable. */ - if (*pattern != '?' && *pattern != *s) - return 0; - - /* Move to the next character, both in string and in pattern. */ - s++; - pattern++; - } - /* NOTREACHED */ -} |
