summary refs log tree commit diff
path: root/posix/fnmatch.c
diff options
context:
space:
mode:
Diffstat (limited to 'posix/fnmatch.c')
-rw-r--r--posix/fnmatch.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/posix/fnmatch.c b/posix/fnmatch.c
index e4677cb3df..2d6f6afbd5 100644
--- a/posix/fnmatch.c
+++ b/posix/fnmatch.c
@@ -228,6 +228,10 @@ fnmatch (pattern, string, flags)
 		(n == string || ((flags & FNM_FILE_NAME) && n[-1] == '/')))
 	      return FNM_NOMATCH;
 
+	    if (*n == '/' && (flags & FNM_FILE_NAME))
+	      /* `/' cannot be matched.  */
+	      return FNM_NOMATCH;
+
 	    not = (*p == '!' || (posixly_correct < 0 && *p == '^'));
 	    if (not)
 	      ++p;
@@ -246,9 +250,6 @@ fnmatch (pattern, string, flags)
 		    if (c == fn)
 		      goto matched;
 		  }
-		else if ((flags & FNM_FILE_NAME) && c == '/')
-		  /* [/] can never match.  */
-		  return FNM_NOMATCH;
 		else if (c == '[' && *p == ':')
 		  {
 		    /* Leave room for the null.  */