]> andersk Git - openssh.git/blobdiff - match.c
- millert@cvs.openbsd.org 2001/03/04 17:42:28
[openssh.git] / match.c
diff --git a/match.c b/match.c
index 5d076ff9e7a842bf32f1685b0d283be9e16b8bc8..81030da6a707833055818da56cecdc6ec75f9c71 100644 (file)
--- a/match.c
+++ b/match.c
@@ -1,22 +1,20 @@
 /*
- *
- * 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.
  *
+ * As far as I am concerned, the code I have written for this software
+ * can be used freely for any purpose.  Any derived versions of this
+ * software must be clearly marked as such, and if the derived work is
+ * incompatible with the protocol description in the RFC file, it must be
+ * called by a name other than "ssh" or "Secure Shell".
  */
 
 #include "includes.h"
-RCSID("$Id$");
+RCSID("$OpenBSD: match.c,v 1.11 2001/01/21 19:05:52 markus Exp $");
 
-#include "ssh.h"
+#include "match.h"
 
 /*
  * Returns true if the given string matches the pattern (which may contain ?
@@ -84,17 +82,17 @@ match_pattern(const char *s, const char *pattern)
 /*
  * Tries to match the host name (which must be in all lowercase) against the
  * comma-separated sequence of subpatterns (each possibly preceded by ! to
- * indicate negation).  Returns true if there is a positive match; zero
- * otherwise.
+ * indicate negation).  Returns -1 if negation matches, 1 if there is
+ * a positive match, 0 if there is no match at all.
  */
 
 int
-match_hostname(const char *host, const char *pattern, unsigned int len)
+match_hostname(const char *host, const char *pattern, u_int len)
 {
        char sub[1024];
        int negated;
        int got_positive;
-       unsigned int i, subi;
+       u_int i, subi;
 
        got_positive = 0;
        for (i = 0; i < len;) {
@@ -127,15 +125,15 @@ match_hostname(const char *host, const char *pattern, unsigned int len)
                /* Try to match the subpattern against the host name. */
                if (match_pattern(host, sub)) {
                        if (negated)
-                               return 0;       /* Fail */
+                               return -1;              /* Negative */
                        else
-                               got_positive = 1;
+                               got_positive = 1;       /* Positive */
                }
        }
 
        /*
         * Return success if got a positive match.  If there was a negative
-        * match, we have already returned zero and never get here.
+        * match, we have already returned -1 and never get here.
         */
        return got_positive;
 }
This page took 0.039573 seconds and 4 git commands to generate.