diff options
Diffstat (limited to 'posix/glob.c')
-rw-r--r-- | posix/glob.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/posix/glob.c b/posix/glob.c index ece71c168f..85237c2a44 100644 --- a/posix/glob.c +++ b/posix/glob.c @@ -276,6 +276,11 @@ glob (pattern, flags, errfunc, pglob) return -1; } + /* POSIX requires all slashes to be matched. This means that with + a trailing slash we must match only directories. */ + if (pattern[0] && pattern[strlen (pattern) - 1] == '/') + flags |= GLOB_ONLYDIR; + if (!(flags & GLOB_DOOFFS)) /* Have to do this so `globfree' knows where to start freeing. It also makes all the code that uses gl_offs simpler. */ |