aboutsummaryrefslogtreecommitdiff
path: root/crypto/openssh/match.c
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/openssh/match.c')
-rw-r--r--crypto/openssh/match.c82
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 */
-}